পাইথনের রেগুলার এক্সপ্রেশনে ব্যবহৃত মেটা ক্যারেক্টারগুলো হলো এমন কিছু ক্যারেক্টার যা সাধারণ ক্যারেক্টারের চেয়ে আলাদা অর্থ বহন করে।
পাইথনের রেগুলার এক্সপ্রেশনের মেটা ক্যারেক্টারগুলো হলো:
মেটা ক্যারেক্টার | বর্ণনা | উদাহরণ |
\w | এই মেটা ক্যারেক্টারটি যেকোনো আলফানিউমেরিক ক্যারেক্টারকে প্রতিনিধিত্ব করে। অর্থাৎ, এটি a থেকে z, A থেকে Z এবং 0 থেকে 9 পর্যন্ত যেকোনো ক্যারেক্টারকে মেলাতে পারে। | \w+ – “This is a string” স্ট্রিং থেকে “This” এর সাথে মেলে |
\W | \W (ওয়ার্ড ক্যারেক্টার নয় এমন) => যেগুলো ওয়ার্ড ক্যারেক্টারের মধ্যে পড়ে না, ঐগুলো সিলেক্ট করতে ইউজ করা হয়। | |
\d | \d (ডিজিট 0–9) => এটা ডিজিট সিলেক্ট করার জন্যে ইউজ করা হয়। এটা অ্যাপ্লাই করলে দেখবেন সবগুলো ডিজিট একটা একটা করে সিলেক্ট হয়েছে | \d+ – “123456” স্ট্রিং থেকে “123456” এর সাথে মেলে |
\D | \D (ডিজিট 0–9 নয় এমন) => এটা ডিজিট নয় এমন ক্যারেক্টারগুলো সিলেক্ট করবে। ঠিক \d এর উল্টো। এখানে অ্যাপ্লাই করলে দেখবেন 0–9 পর্যন্ত ডিজিটগুলো ছাড়া বাকী সব একটা একটা করে সিলেক্ট করা হয়েছে। | |
\s | এই মেটা ক্যারেক্টারটি যেকোনো স্পেস ক্যারেক্টারকে প্রতিনিধিত্ব করে। অর্থাৎ, এটি একটি স্পেস, একটি ট্যাব, একটি নতুন লাইন ইত্যাদিকে মেলাতে পারে। | \s+ – “This is a string” স্ট্রিং থেকে ” ” এর সাথে মেলে |
\n | এই মেটা ক্যারেক্টারটি একটি নতুন লাইনকে প্রতিনিধিত্ব করে। | \n – “This is a string\n” স্ট্রিং থেকে “\n” এর সাথে মেলে |
. | . (ডট) => ইউজ করা হয় যেকোনো টাইপের ক্যারেক্টার খোঁজার জন্যে। যেকোনো টাইপ মানে যেকোনো টাইপ, অ্যালফাবেট, নাম্বার, স্পেশাল ক্যারেক্টার, স্পেস সবকিছু খোঁজার জন্যে। উপরে ডকুমেন্টটার জন্যে শুধুমাত্র . (ডট) লিখে সার্চ দিলে দেখবেন এই ডকুমেন্ট এর প্রত্যেকটা ক্যারেক্টারকেই এটা(একটা একটা করে) সিলেক্ট করে ফেলেছে। | .+ – “This is a string” স্ট্রিং থেকে “This is a string” এর সাথে মেলে |
^ | এই মেটা ক্যারেক্টারটি একটি স্ট্রিংের শুরুতে থাকা ক্যারেক্টারকে প্রতিনিধিত্ব করে। | ^This – “This is a string” স্ট্রিং থেকে “This” এর সাথে মেলে |
<span class=”math-inline”>\ \ | একটি স্ট্রিংের শেষে থাকা ক্যারেক্টার \ | `is` – “This is a string” স্ট্রিং থেকে “is” এর সাথে মেলে |
$ | এই মেটা ক্যারেক্টারটি একটি স্ট্রিংের শেষে থাকা ক্যারেক্টারকে প্রতিনিধিত্ব করে। | |
* | এই মেটা ক্যারেক্টারটি পূর্ববর্তী ক্যারেক্টারের উপস্থিতি শূন্য বা একাধিকবার নির্দেশ করে। | \w* – “This is a string” স্ট্রিং থেকে “This is a string” এর সাথে মেলে |
+ | এই মেটা ক্যারেক্টারটি পূর্ববর্তী ক্যারেক্টারের উপস্থিতি এক বা একাধিকবার নির্দেশ করে। | \w+ – “This is a string” স্ট্রিং থেকে “This” এর সাথে মেলে |
? | পূর্ববর্তী ক্যারেক্টারের উপস্থিতি শূন্য বা একবার | \w? – “This is a string” স্ট্রিং থেকে “T” এর সাথে মেলে |
{m,n} | এই মেটা ক্যারেক্টারটি পূর্ববর্তী ক্যারেক্টারের উপস্থিতি m থেকে n বার নির্দেশ করে। | \d{2} – “123456” স্ট্রিং থেকে “12” এর সাথে মেলে |
এই মেটা ক্যারেক্টারগুলো ব্যবহার করে আমরা পাইথনের রেগুলার এক্সপ্রেশনের শক্তি বাড়িয়ে তুলতে পারি। উদাহরণস্বরূপ, নিচের রেগুলার এক্সপ্রেশনটি যেকোনো পাঁচটি ডিজিটের একটি স্ট্রিংকে প্রতিনিধিত্ব করে:
import re
string = "12345678"
match = re.search(r"\d{5}", string)
if match:
print(match.group())
এই কোডটি নিম্নলিখিত আউটপুট প্রদান করবে:
12345
এখানে, \d{5} মেটা ক্যারেক্টারটি \d মেটা ক্যারেক্টারের পরে পাঁচটি বার উপস্থিতি নির্দেশ করে। এর মানে হলো যে এই রেগুলার এক্সপ্রেশনটি যেকোনো পাঁচটি ডিজিটের একটি স্ট্রিংকে প্রতিনিধিত্ব করবে।