re.match
স্ট্রিংয়ের শুরুতে নোঙ্গর করা হয়। নিউলাইনগুলির সাথে এর কোনও যোগসূত্র নেই, তাই এটি ^
প্যাটার্নটিতে ব্যবহারের মতো নয় ।
Re.match ডকুমেন্টেশন যেমন বলে:
স্ট্রিংয়ের শুরুতে যদি শূন্য বা আরও বেশি অক্ষরগুলি
নিয়মিত প্রকাশের প্যাটার্নের সাথে মেলে, তবে কোনও অনুচ্ছেদে ফিরে MatchObject
আসুন। None
স্ট্রিংটি প্যাটার্নের সাথে মেলে না তবে ফিরে আসুন ; মনে রাখবেন এটি শূন্য দৈর্ঘ্যের ম্যাচ থেকে আলাদা।
দ্রষ্টব্য: আপনি যদি কোনও ম্যাচ স্ট্রিংয়ে সনাক্ত করতে চান তবে search()
পরিবর্তে ব্যবহার করুন।
re.search
ডকুমেন্টেশন যেমন বলেছে , পুরো স্ট্রিংটি অনুসন্ধান করে :
স্ট্রিংয়ের মাধ্যমে স্ক্যান করে এমন কোনও অবস্থানের সন্ধান করুন যেখানে নিয়মিত প্রকাশের প্যাটার্নটি একটি মিল তৈরি করে এবং এর সাথে সম্পর্কিত MatchObject
উদাহরণটি ফেরত দেয় । None
স্ট্রিংয়ের কোনও অবস্থান যদি প্যাটার্নের সাথে মেলে না তবে ফিরে আসুন ; নোট করুন যে স্ট্রিংয়ের কোনও এক সময়ে শূন্য দৈর্ঘ্যের ম্যাচটি খুঁজে পাওয়া থেকে আলাদা।
সুতরাং আপনার যদি স্ট্রিংয়ের শুরুতে মেলানো দরকার বা পুরো স্ট্রিং ব্যবহারের সাথে মেলে match
। এটি দ্রুত। অন্যথায় ব্যবহার search
।
ডকুমেন্টেশনে বনামের জন্যmatch
search
একটি নির্দিষ্ট বিভাগ রয়েছে যা মাল্টলাইন স্ট্রিংগুলিও কভার করে:
: পাইথন অফার দুটি ভিন্ন আদিম অপারেশন রেগুলার এক্সপ্রেশনের উপর ভিত্তি করে match
একটি ম্যাচের জন্য চেক
শুধুমাত্র শুরুতে যখন স্ট্রিং এর, search
একটি ম্যাচের জন্য চেক
যে কোন জায়গায় স্ট্রিং (এই পার্ল ডিফল্টরূপে কি যায়)।
নোট যেটি
নিয়মিত অভিব্যক্তিটি দিয়ে শুরু করার সাথে match
পৃথক হতে পারে : কেবল স্ট্রিংয়ের শুরুতে বা মোডে তাত্ক্ষণিকভাবে একটি নতুন লাইন অনুসরণ করার পরেও মেলে
।
মোড নির্বিশেষে স্ট্রিংয়ের শুরুতে প্যাটার্নটি মিলে গেলে বা
lineচ্ছিক যুক্তি দিয়ে শুরু করা অবস্থানে কোনও নিউলাইন এর আগে রয়েছে কিনা নির্বিশেষে " " অপারেশনটি সফল হয় ।search
'^'
'^'
MULTILINE
match
pos
এখন, যথেষ্ট আলাপ। কিছু উদাহরণ কোড দেখার সময়:
# example code:
string_with_newlines = """something
someotherthing"""
import re
print re.match('some', string_with_newlines) # matches
print re.match('someother',
string_with_newlines) # won't match
print re.match('^someother', string_with_newlines,
re.MULTILINE) # also won't match
print re.search('someother',
string_with_newlines) # finds something
print re.search('^someother', string_with_newlines,
re.MULTILINE) # also finds something
m = re.compile('thing$', re.MULTILINE)
print m.match(string_with_newlines) # no match
print m.match(string_with_newlines, pos=4) # matches
print m.search(string_with_newlines,
re.MULTILINE) # also matches