রেগুলার এক্সপ্রেশন
রেগুলার এক্সপ্রেশন (সংক্ষিপ্তরূপ: regex বা regexp) হল এক সারি ক্যারেক্টার যা লেখার মাঝে নির্দিষ্ট বিন্যাস নির্দেশ করে। কম্পিউটারে সাধারণত এটি লেখার মাঝে বিন্যাস খুঁজতে ও ইনপুট যাচাইকরণে ব্যবহৃত হয়। তত্ত্বীয় কম্পিউটার বিজ্ঞান ও ফরমাল ল্যাঙ্গুয়েজ থিওরিতে এই পদ্ধতিটি উন্নয়ন করা হয়।
এই ধারণাটির সূচনা ১৯৫০ এর দশকে, যখন গণিতবিদ স্টিফেন ক্লেনি রেগুলার ল্যাঙ্গুয়েজের বর্ণনা দেন। ধারণাটি সাধারণ ব্যবহারে চলে আসে ইউনিক্সের লেখা প্রক্রিয়াকরণ সরঞ্জামগুলোর মাধ্যমে। রেগুলার এক্সপ্রেশন লেখার ক্ষেত্রে POSIX standard, Perl syntax ইত্যাদি পদ্ধতি ব্যবহার হয়ে আসছে।
রেগুলার এক্সপ্রেশন সার্চ ইঞ্জিনে, টেক্সট ইডিটরের প্রতিস্থাপন সরঞ্জামে, sed ও AWK এর মত লেখা প্রক্রিয়াকরণ সরঞ্জামে ব্যবহৃত হয়। অনেক প্রোগ্রামিং ভাষাতে রেজেক্স ব্যবহারের সুবিধা যুক্ত করা থাকে, ভাষার সাথেই বা লাইব্রেরির মাধ্যমে।
গঠন
[সম্পাদনা]বিন্যাস বর্ণনা করতে একটি সহজ উপায় হল এর উপাদানগুলোর তালিকা করা। তবে কিছু সংক্ষিপ্ত উপায় রয়েছে। যেমন তিনটি স্ট্রিং "Handel", "Händel" এবং "Haendel" কে H(ä|ae?)ndel
এর মাধ্যমে বর্ণনা করা হয়। রেগুলার এক্সপ্রেশন তৈরিতে যে গঠনগুলো ব্যবহার হয় তার মধ্যে রয়েছে:
- বুলিয়ান অর
|
চিহ্ন বিকল্পগুলোকে আলাদা করে। যেমনgray|grey
বিন্যাস "gray" এবং "grey" এর সাথে মিলবে।- গ্রুপিং
()
ব্যবহার হয় পরিসর নির্দেশ করতে। যেমনgr(a|e)y
বিন্যাসটিgray|grey
এর মত কাজ করে।- কোয়ান্টিফিকেশন
?
,*
,+
ইত্যাদি চিহ্ন দিয়ে একটি বর্ণ অথবা বিন্যাস পরপর কতবার থাকবে তা নির্দেশ করা যায়।?
বুঝায় শূণ্য অথবা একবার। তাইcolou?r
বিন্যাস "color" এবং "colour" এর সাথে মিলবে।*
শূণ্য অথবা যেকোনো বার আর+
এক বা একাধিক বার বুঝায়।ab*c
ওab+c
বিন্যাস দুটি "abc", "abbc", "abbbc" ইত্যাদি লেখার সাথে মিলবে। তবে "ac" লেখায়ab*c
মিললেওab+c
মিলবে না। একইভাবে{n}
, যেখানে n একটি সংখ্যা, n বার বুঝায়।- ওয়াইল্ডকার্ড
.
চিহ্ন যেকোনো ক্যারেক্টারের সাথে মিলবে। উদাহরণ স্বরূপa.b
বিন্যাস প্রথমে a, তারপর যেকোনো একটি ক্যারেকটার, তারপর b থাকলে মিলবে। একইভাবেa.{4}b
বিন্যাস a ও b এর মাঝে যেকোনো চারটি ক্যারেকটার থাকলে মিলবে।
তথ্যসূত্র
[সম্পাদনা]এই নিবন্ধটি অসম্পূর্ণ। আপনি চাইলে এটিকে সম্প্রসারিত করে উইকিপিডিয়াকে সাহায্য করতে পারেন। |