re.matchস্ট্রিংয়ের শুরুতে নোঙ্গর করা হয়। নিউলাইনগুলির সাথে এর কোনও যোগসূত্র নেই, তাই এটি ^প্যাটার্নটিতে ব্যবহারের মতো নয় ।
Re.match ডকুমেন্টেশন যেমন বলে:
স্ট্রিংয়ের শুরুতে যদি শূন্য বা আরও বেশি অক্ষরগুলি
নিয়মিত প্রকাশের প্যাটার্নের সাথে মেলে, তবে কোনও অনুচ্ছেদে ফিরে MatchObjectআসুন। Noneস্ট্রিংটি প্যাটার্নের সাথে মেলে না তবে ফিরে আসুন ; মনে রাখবেন এটি শূন্য দৈর্ঘ্যের ম্যাচ থেকে আলাদা।
দ্রষ্টব্য: আপনি যদি কোনও ম্যাচ স্ট্রিংয়ে সনাক্ত করতে চান তবে search()
পরিবর্তে ব্যবহার করুন।
re.searchডকুমেন্টেশন যেমন বলেছে , পুরো স্ট্রিংটি অনুসন্ধান করে :
স্ট্রিংয়ের মাধ্যমে স্ক্যান করে এমন কোনও অবস্থানের সন্ধান করুন যেখানে নিয়মিত প্রকাশের প্যাটার্নটি একটি মিল তৈরি করে এবং এর সাথে সম্পর্কিত MatchObjectউদাহরণটি ফেরত দেয় । Noneস্ট্রিংয়ের কোনও অবস্থান যদি প্যাটার্নের সাথে মেলে না তবে ফিরে আসুন ; নোট করুন যে স্ট্রিংয়ের কোনও এক সময়ে শূন্য দৈর্ঘ্যের ম্যাচটি খুঁজে পাওয়া থেকে আলাদা।
সুতরাং আপনার যদি স্ট্রিংয়ের শুরুতে মেলানো দরকার বা পুরো স্ট্রিং ব্যবহারের সাথে মেলে match। এটি দ্রুত। অন্যথায় ব্যবহার search।
ডকুমেন্টেশনে বনামের জন্যmatchsearch একটি নির্দিষ্ট বিভাগ রয়েছে যা মাল্টলাইন স্ট্রিংগুলিও কভার করে:
: পাইথন অফার দুটি ভিন্ন আদিম অপারেশন রেগুলার এক্সপ্রেশনের উপর ভিত্তি করে matchএকটি ম্যাচের জন্য চেক
শুধুমাত্র শুরুতে যখন স্ট্রিং এর, searchএকটি ম্যাচের জন্য চেক
যে কোন জায়গায় স্ট্রিং (এই পার্ল ডিফল্টরূপে কি যায়)।
নোট যেটি
নিয়মিত অভিব্যক্তিটি দিয়ে শুরু করার সাথে matchপৃথক হতে পারে : কেবল স্ট্রিংয়ের শুরুতে বা মোডে তাত্ক্ষণিকভাবে একটি নতুন লাইন অনুসরণ করার পরেও মেলে
।
মোড নির্বিশেষে স্ট্রিংয়ের শুরুতে প্যাটার্নটি মিলে গেলে বা
lineচ্ছিক যুক্তি দিয়ে শুরু করা অবস্থানে কোনও নিউলাইন এর আগে রয়েছে কিনা নির্বিশেষে " " অপারেশনটি সফল হয় ।search'^''^'MULTILINEmatchpos
এখন, যথেষ্ট আলাপ। কিছু উদাহরণ কোড দেখার সময়:
# 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