অনেক প্রোগ্রামাররা দ্রুত নিয়মিত অভিব্যক্তিটি বেত্রাঘাতের আনন্দ জানেন, আজকাল প্রায়শই কিছু ওয়েব পরিষেবাদির সাহায্যে, বা আরও traditionতিহ্যগতভাবে ইন্টারেক্টিভ প্রম্পটে, বা সম্ভবত একটি ছোট স্ক্রিপ্ট লিখেছেন যা নিয়মিত বিকাশাধীন রয়েছে এবং পরীক্ষার কেসগুলির সংকলন রয়েছে । উভয় ক্ষেত্রেই প্রক্রিয়াটি পুনরাবৃত্তিযোগ্য এবং মোটামুটি দ্রুত: ক্রিপ্টিক-লুকিং স্ট্রিংটিতে হ্যাকিং অবিরত করুন যতক্ষণ না এটি মেলে এবং আপনি যা চান সেটি ক্যাপচার করে এবং আপনি যা চান না তা প্রত্যাখ্যান করে।
একটি সাধারণ কেস ফলাফলের জন্য জাভা রিজেক্সপ হিসাবে এটির মতো কিছু হতে পারে:
Pattern re = Pattern.compile(
"^\\s*(?:(?:([\\d]+)\\s*:\\s*)?(?:([\\d]+)\\s*:\\s*))?([\\d]+)(?:\\s*[.,]\\s*([0-9]+))?\\s*$"
);
অনেক প্রোগ্রামার নিয়মিত এক্সপ্রেশন, বা লিগ্যাসি কোড বেসে নিয়মিত প্রকাশের চারপাশে কেবল কোড সম্পাদনা করার প্রয়োজনের বেদনাকেও জানেন। এটিকে বিভক্ত করার জন্য কিছুটা সম্পাদনা করার পরেও, রেজিএক্সপ্সের সাথে যুক্তিসঙ্গতভাবে পরিচিত প্রত্যেকের জন্য উপরের রেজিএক্সপ্যাক্স এখনও বুঝতে খুব সহজ, এবং একজন রিজেক্স এক্স অভিজ্ঞ এটি কী করে তা অবিলম্বে দেখা উচিত (পোস্টের শেষে উত্তর দেওয়া উচিত, যদি কেউ অনুশীলন চায় তবে এটি নিজেরাই নির্ধারণের)।
যাইহোক, কিছু আরো অনেক জটিল পেতে কোন RegExp সত্যিই হওয়ার জন্য জিনিস, এবং এমনকি পরিশ্রমী ডকুমেন্টেশন (যা সবাই একমাত্র লেখা-প্রয়োজন হবে না অবশ্যই সব জটিল regexps তারা লিখুন ... জন্য নয়), regexps পরিবর্তন একটি হয়ে ভীতিকর কাজ. এটি খুব বিপজ্জনক কাজও হতে পারে, যদি রেজিএক্সএক্সটি সাবধানে ইউনিট পরীক্ষা না করা হয় তবে (তবে অবশ্যই প্রত্যেকেরই তাদের জটিল জটিল সকল রেজেজেক্সের জন্য ইউনিট পরীক্ষা, ইতিবাচক এবং নেতিবাচক ...) রয়েছে।
সুতরাং, দীর্ঘ গল্প সংক্ষিপ্ত, কোনও শক্তি প্রয়োগ না হারিয়ে নিয়মিত প্রকাশের জন্য কী কোনও লেখার পাঠের সমাধান / বিকল্প আছে? উপরের রেজিএক্সএক্সটি বিকল্প পদ্ধতির সাথে দেখতে কেমন হবে? যে কোনও ভাষা সূক্ষ্ম, যদিও একটি বহু-ভাষা সমাধান সর্বোত্তম, তবে ডিগ্রি রিজেক্সপ্সগুলি বহু-ভাষা।
এবং তারপরে, পূর্বের রিজেপেক্স যা করে তা হ'ল: বিন্যাসে একটি সংখ্যার একটি স্ট্রিংকে পার্স করুন 1:2:3.4
, প্রতিটি সংখ্যা ক্যাপচার করুন, যেখানে ফাঁকা স্থান অনুমোদিত এবং কেবলমাত্র 3
প্রয়োজনীয়।