কম্পিউটার টিউটোরিয়াল

পাইথন রেগুলার এক্সপ্রেশনে রো স্ট্রিং নোটেশন (Raw String Notation) কী?

রো স্ট্রিং নোটেশন (Raw String Notation)

পাইথন ডক্স অনুযায়ী, রো স্ট্রিং নোটেশন (r"text") রেগুলার এক্সপ্রেশনকে অর্থবহ এবং কনফিউশন-ফ্রি রাখে। এর বিনা, রেগুলার এক্সপ্রেশনে প্রতিটি ব্যাকস্ল্যাশ ('\\') কে আরেকটি দিয়ে প্রিফিক্স করতে হতো এسکেপ করার জন্য। উদাহরণস্বরূপ, নিচের দুটি লাইন কোড ফাংশনালি আইডেন্টিক্যাল -

>>> re.match(r"\W(.)\1\W", " ff ")
<_sre.SRE_Match object; span=(0, 4), match=' ff '>
>>> re.match("\\W(.)\\1\\W", " ff ")
<_sre.SRE_Match object; span=(0, 4), match=' ff '>

যখন কেউ লিটারেল ব্যাকস্ল্যাশ ম্যাচ করতে চায়, তবে রেগুলার এক্সপ্রেশনে সেটি এস্কেপ করতে হয়। রো স্ট্রিং নোটেশনে এটা মানে r"\\\\"। রো স্ট্রিং নোটেশন ছাড়া, এটা হবে "\\\\\\\\", যা নিচের কোডগুলোর ফাংশনালি আইডেন্টিক্যাল করে -

>>> re.match(r"\\\\", r"\\\\")
<_sre.SRE_Match object; span=(0, 1), match='\\\\'>
>>> re.match("\\\\\\\\", r"\\\\")
<_sre.SRE_Match object; span=(0, 1), match='\\\\'>
  1. পাইথনে রেগুলার এক্সপ্রেশন কী

  2. পাইথনে <code>zfill()</code> মেথড কী?

  3. পাইথন বাইটস্ট্রিং (bytestring) কী?

  4. পাইথনে স্ট্রিং অ্যালফানিউমেরিক কিনা যাচাই করার রেজেক্স