একটি রেগুলার এক্সপ্রেশন তৈরি করতে হলে আপনাকে নির্দিষ্ট সিনট্যাক্স—অর্থাৎ, বিশেষ অক্ষর এবং গঠনবিধি—ব্যবহার করতে হবে। উদাহরণস্বরূপ, নিচে একটি সহজ রেগুলার এক্সপ্রেশন দেওয়া হলো যা nnn-nnn-nnnn প্যাটার্নে যেকোনো ১০-অঙ্কের টেলিফোন নম্বরের সাথে মিলে যায়:
\d{3}-\d{3}-\d{4}
নিম্নলিখিত সারণিতে রেগুলার এক্সপ্রেশনে ব্যবহৃত কিছু সর্বাধিক প্রচলিত বিশেষ অক্ষর বর্ণনা করা হয়েছে। এই অক্ষরগুলোকে নিম্নোক্তভাবে শ্রেণিবদ্ধ করা হয়েছে:
| চরিত্র | বর্ণনা |
|---|---|
| অ্যাঙ্কর | |
| ^ | (ক্যারেট) রেগুলার এক্সপ্রেশনটি যে লাইন বা টেক্সট স্ট্রিং খুঁজছে, তার শুরুর অংশের সাথে মেলে। উদাহরণস্বরূপ, একটি কন্টেন্ট রুল যেখানে একটি লোকেশন সাবজেক্ট লাইন এবং নিম্নলিখিত রেগুলার এক্সপ্রেশনটি রয়েছে: ^abc যেসব ইমেইল বার্তার সাবজেক্ট লাইন abc অক্ষর দিয়ে শুরু হয়, সেগুলো ক্যাপচার করে। |
| $ | (ডলার) রেগুলার এক্সপ্রেশনটি যে লাইন বা টেক্সট স্ট্রিং খুঁজছে, তার শেষের সাথে মেলে। উদাহরণস্বরূপ, একটি কন্টেন্ট রুল যেখানে একটি লোকেশন সাবজেক্ট লাইন এবং নিম্নলিখিত রেগুলার এক্সপ্রেশনটি রয়েছে: xyz$ এমন যেকোনো ইমেল বার্তা গ্রহণ করে যার সাবজেক্ট লাইনের শেষে xyz অক্ষরগুলো থাকে। |
| মেটা ক্যারেক্টার | |
| . | (ডট) নতুন লাইন ছাড়া যেকোনো একটি অক্ষরের সাথে মেলে। |
| | | (পাইপ) পর্যায়ক্রম বোঝায়—অর্থাৎ, "অথবা"। উদাহরণস্বরূপ: cat|dog শব্দটি cat or dog এর সাথে মেলে |
| \ | এটি নির্দেশ করে যে পরবর্তী অক্ষরটি একটি আক্ষরিক অক্ষর, কোনো বিশেষ অক্ষর নয়। উদাহরণস্বরূপ: \. যেকোনো অক্ষরের (ডট অক্ষর) পরিবর্তে একটি আক্ষরিক পিরিয়ডকে বোঝায়। |
| চরিত্র শ্রেণী | |
| [...] | একগুচ্ছ অক্ষরের যেকোনো একটির সাথে মেলে। একটি সেটের প্রথম এবং শেষ অক্ষরকে একটি ড্যাশ দিয়ে আলাদা করুন। উদাহরণস্বরূপ: [123] 1 , 2 , বা 3 অঙ্কটির সাথে মেলে। [af] a থেকে f পর্যন্ত যেকোনো অক্ষরের সাথে মেলে। দ্রষ্টব্য: কন্টেন্ট কমপ্লায়েন্স পলিসিতে ব্যবহৃত রেগুলার এক্সপ্রেশনগুলো কেস-সেনসিটিভ। |
| [^...] | অক্ষরের সেটে নেই এমন যেকোনো অক্ষরের সাথে মেলে। উদাহরণস্বরূপ: [^af] ' a' থেকে 'f' পর্যন্ত যেকোনো অক্ষরকে বোঝায় যা কোনো বর্ণ নয়। দ্রষ্টব্য: কন্টেন্ট কমপ্লায়েন্স পলিসিতে ব্যবহৃত রেগুলার এক্সপ্রেশনগুলো কেস-সেনসিটিভ। |
| [:alnum:] | আলফানিউমেরিক অক্ষর (বর্ণ বা সংখ্যা) মেলায়: az , AZ , অথবা 0-9 দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:alnum:]]। |
| [:আলফা:] | বর্ণমালা অক্ষরগুলো (বর্ণ) মেলায়: az বা AZ দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:alpha:]]। |
| [:অঙ্ক:] | সংখ্যাগুলো মেলে: ০-৯ দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:digit:]]। |
| [:গ্রাফ:] | শুধুমাত্র দৃশ্যমান অক্ষরগুলোর সাথেই মেলে—অর্থাৎ, স্পেস, কন্ট্রোল ক্যারেক্টার ইত্যাদি ছাড়া অন্য যেকোনো অক্ষর। দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:graph:]]। |
| [:punct:] | বিরামচিহ্ন ও প্রতীকগুলো মেলায়: ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:punct:]]। |
| [:প্রিন্ট:] | দৃশ্যমান অক্ষর এবং স্পেসের সাথে মেলে। দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:print:]]। |
| [:space:] | স্পেস, ট্যাব এবং লাইন ব্রেক সহ সমস্ত হোয়াইটস্পেস ক্যারেক্টারকে ম্যাচ করে। দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:space:]]। |
| [:শব্দ:] | যেকোনো শব্দ অক্ষরের সাথে মেলে—অর্থাৎ, যেকোনো বর্ণ, সংখ্যা বা আন্ডারস্কোর: az , AZ , 0-9 , অথবা _ দ্রষ্টব্য: রেগুলার এক্সপ্রেশনে এই ক্যারেক্টার ক্লাসটি ব্যবহার করার সময়, এটিকে অবশ্যই আরেকটি বর্গাকার বন্ধনীর মধ্যে রাখতে হবে, উদাহরণস্বরূপ: [[:word:]]। |
| শর্টহ্যান্ড অক্ষর ক্লাস | |
| \w | যেকোনো শব্দ অক্ষরের সাথে মেলে—অর্থাৎ, যেকোনো বর্ণ, সংখ্যা বা আন্ডারস্কোর: az , AZ , 0-9 , অথবা _ [:word:] এর সমতুল্য |
| ডাব্লিউ | যেকোনো শব্দ-বহির্ভূত অক্ষরের সাথে মেলে—অর্থাৎ, এমন যেকোনো অক্ষর যা বর্ণ, সংখ্যা বা আন্ডারস্কোর নয়। [^[:word:]] এর সমতুল্য |
| \s | যেকোনো হোয়াইটস্পেস ক্যারেক্টারের সাথে মেলে। উদাহরণস্বরূপ, একটি বাক্যাংশে শব্দগুলোর মধ্যে ফাঁকা স্থান নির্দিষ্ট করতে এই ক্যারেক্টারটি ব্যবহার করুন: stockstips শব্দটি stock tips বাক্যাংশটির সাথে মিলে যায়। [:space:] এর সমতুল্য |
| এস | স্পেস নয় এমন যেকোনো অক্ষরের সাথে মেলে। [^[:space:]] এর সমতুল্য |
| \d | ০ থেকে ৯ পর্যন্ত যেকোনো অঙ্কের সাথে মেলে। [:digit:] এর সমতুল্য |
| ডি | ০ থেকে ৯ পর্যন্ত যেকোনো অক্ষরকে মেলায় যা কোনো অঙ্ক নয়। [^[:digit:]] এর সমতুল্য |
| গ্রুপ | |
| (...) | কোনো এক্সপ্রেশনের অংশগুলোকে গ্রুপ করে। কোনো গ্রুপের ওপর কোয়ান্টিফায়ার প্রয়োগ করতে অথবা গ্রুপের আগে বা পরে ক্যারেক্টার ক্লাস মেলাতে গ্রুপিং ব্যবহার করুন। |
| পরিমাণবাচক শব্দ | |
| {n} | পূর্ববর্তী রাশিটিকে ঠিক n বার মেলান। উদাহরণস্বরূপ: [ac]{2} এক্সপ্রেশনটি a থেকে c পর্যন্ত যেকোনো অক্ষরের সাথে তখনই মেলে, যখন দুটি অক্ষর পরপর আসে। সুতরাং, এই এক্সপ্রেশনটি ab এবং bc এর সাথে মিলবে, কিন্তু abc বা aabbc এর সাথে মিলবে না। |
| {n,m} | পূর্ববর্তী রাশিটিকে সর্বনিম্ন n বার এবং সর্বোচ্চ m বার মেলান। উদাহরণস্বরূপ: [ac]{2,4} এক্সপ্রেশনটি a থেকে c পর্যন্ত যেকোনো অক্ষরকে শুধুমাত্র তখনই ম্যাচ করে, যখন অক্ষরগুলো পরপর সর্বনিম্ন ২ বার এবং সর্বোচ্চ ৪ বার আসে। সুতরাং, এই এক্সপ্রেশনটি ab এবং abc-কে ম্যাচ করবে, কিন্তু aabbc-কে নয়। |
| ? | এটি নির্দেশ করে যে পূর্ববর্তী অক্ষর বা এক্সপ্রেশনটি ০ অথবা ১ বার মিলতে পারে। এটি {0,1} পরিসরের সমতুল্য। উদাহরণস্বরূপ, নিম্নলিখিত রেগুলার এক্সপ্রেশনটি: রঙ? এটি colour অথবা color উভয়ের সাথেই মেলে, কারণ ? চিহ্নটি u অক্ষরটিকে ঐচ্ছিক করে তোলে। |