Python RegEx
- পূর্ববর্তী পৃষ্ঠা Python JSON
- পরবর্তী পৃষ্ঠা Python PIP
RegEx বা প্রতিরূপ একটি সার্চ মোড তৈরি করার জন্য ব্যবহৃত অক্ষর শৃঙ্খলা
RegEx ব্যবহার করে কোনও স্ট্রিংকে নির্দিষ্ট সার্চ মোডের অংশ হয় কিনা পরীক্ষা করা যায়。
RegEx মডিউল
Python এ 'প্রদান করা হয় re
পাইথনের বিন্দুমুখী প্যাকেজ, যা প্রাকৃতিক বাক্যাংশ সংক্রান্ত কাজকর্ম করার জন্য ব্যবহার করা যেতে পারে।
导入 re
মডিউল:
import re
পাইথনের RegEx
导入 re
মডিউলটির পরে, আমরা প্রাকৃতিক বাক্যাংশ ব্যবহার করা শুরু করতে পারি:
উদাহরণ
স্ট্রিংয়কে ম্যাচ করে, যাতে এটি "China"-র সঙ্গে শুরু করে এবং "country"-র সঙ্গে শেষ হয়
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
RegEx ফাংশন
re
মডিউলটি একটি সেট ফাংশন প্রদান করে, যা আমাদের স্ট্রিংয়কে ম্যাচ করার জন্য ব্যবহার করা যেতে পারে:
ফাংশন | বর্ণনা |
---|---|
findall | সমস্ত ম্যাচ ফলাফলকে একটি তালিকা ফিরাবে |
search | যদি স্ট্রিংয়ের কোন অংশে ম্যাচ হয়, তবে Match অবজেক্ট ফিরাবে |
split | প্রত্যেকবার ম্যাচ হওয়ার সময় স্ট্রিংয়কে বিভক্ত করে একটি তালিকা ফিরাবে |
sub | একটি স্ট্রিংয় দ্বারা একটি ম্যাচ ফলাফলকে প্রতিস্থাপন করুন |
মেটাকার
মেটাকার (বা বিশেষ অর্থ রাখা অক্ষর)
অক্ষর | বর্ণনা | উদাহরণ | TIY |
---|---|---|---|
[] | একটি অক্ষর গোষ্ঠী | "[a-m]" | চেষ্টা করুন |
\ | বিশেষ সিরিজ নিশ্চেতন (বা ব্যবহার করা যেতে পারে বিশেষ অক্ষর চিহ্নিত করতে) | "\d" | চেষ্টা করুন |
. | কোন অক্ষর (নিবেদন সংযোজক ব্যতীত) | "he..o" | চেষ্টা করুন |
^ | শুরু | "^hello" | চেষ্টা করুন |
$ | শেষে | "world$" | চেষ্টা করুন |
* | কোন উপস্থিতি না থাকা বা বারবার উপস্থিতি | "aix*" | চেষ্টা করুন |
+ | একবার বা বারবার উপস্থিতি | "aix+" | চেষ্টা করুন |
{} | সুনির্দিষ্ট উপস্থিতির সংখ্যা | "al{2}" | চেষ্টা করুন |
| | উভয়ই | "falls|stays" | চেষ্টা করুন |
() | ক্যাপচার এবং গ্রুপিং |
বিশেষ সিরিজ
বিশেষ সিরিজ \
পরে নিচের টেবিলের কোন অক্ষর দ্বারা অনুসরণ করে, যা বিশেষ অর্থ রাখে:
অক্ষর | বর্ণনা | উদাহরণ | TIY |
---|---|---|---|
\A | যদি নির্দিষ্ট অক্ষরটি স্ট্রিংয়ের প্রথমে অবস্থিত থাকে, তবে ম্যাচ ফলাফল ফিরাবে | "\AThe" | চেষ্টা করুন |
\b | নির্দিষ্ট অক্ষরটি কোন কারকর অক্ষরের প্রথম (বা শেষ) অংশে অবস্থিত থাকে ম্যাচ ফলাফল ফিরাবে |
r"\bain" r"ain\b" |
চেষ্টা করুন চেষ্টা করুন |
\B | নির্দিষ্ট অক্ষরটি স্ট্রিংয়ে অবস্থিত থাকে, কিন্তু এটি কোন কারকর অক্ষরের প্রথম (বা শেষ) অংশে না থাকে ম্যাচ ফলাফল ফিরাবে |
r"\Bain" r"ain\B" |
চেষ্টা করুন চেষ্টা করুন |
\d | স্ট্রিংয় অক্ষরটি সংখ্যা থাকা ম্যাচ ফলাফল ফিরাবে (সংখ্যা 0-9) | "\d" | চেষ্টা করুন |
\D | স্ট্রিংয় অক্ষরটি সংখ্যা না থাকা ম্যাচ ফলাফল ফিরাবে | "\D" | চেষ্টা করুন |
\s | স্ট্রিংয় অক্ষরটি খালি অক্ষর থাকা ম্যাচ ফলাফল ফিরাবে | "\s" | চেষ্টা করুন |
\S | স্ট্রিংয় অক্ষরটি খালি অক্ষর না থাকা ম্যাচ ফলাফল ফিরাবে | "\S" | চেষ্টা করুন |
\w | একটি ম্যাচ ফলাফল ফিরাবে, যেখানে স্ট্রিংয় কোন কারকর অক্ষর থাকে (a থেকে Z এর অক্ষর, 0 থেকে 9 এর সংখ্যা এবং নিশ্চেতন অক্ষর _) |
"\w" | চেষ্টা করুন |
\W | একটি ম্যাচ ফলাফল ফিরাবে, যেখানে স্ট্রিংয় কোন কারকর অক্ষর না থাকে | "\W" | চেষ্টা করুন |
\Z | যদি নির্দিষ্ট অক্ষরটি স্ট্রিংয়ের শেষে অবস্থিত থাকে, তবে ম্যাচ ফলাফল ফিরাবে | "Spain\Z" | চেষ্টা করুন |
Set
সমষ্টি (Set) একটি দুইদিকের বর্ণাক্ষর, যা বোঝায়: []
একটি গোষ্ঠী অক্ষর, যা বিশেষ মান রাখে:
সমষ্টি | বর্ণনা | চেষ্টা করুন |
---|---|---|
[arn] | যে কোনো নির্দিষ্ট অক্ষর (a, r বা n) থাকা ম্যাচকে ম্যাচ করুন | চেষ্টা করুন |
[a-n] | a থেকে n মধ্যে যে কোনো ছোট অক্ষরকে ম্যাচ করুন | চেষ্টা করুন |
[^arn] | a, r এবং n-এর বাইরে যে কোনো বর্ণকে ম্যাচ করুন | চেষ্টা করুন |
[0123] | যে কোনো নির্দিষ্ট সংখ্যা (0, 1, 2 বা 3) থাকা ম্যাচকে ম্যাচ করুন | চেষ্টা করুন |
[0-9] | 0 থেকে 9 মধ্যে যে কোনো সংখ্যাকে ম্যাচ করুন | চেষ্টা করুন |
[0-5][0-9] | 0 থেকে 9 মধ্যে যে কোনো সংখ্যাকে ম্যাচ করুন | চেষ্টা করুন |
[a-zA-Z] | বর্ণ ক্রম a এবং z মধ্যে যে কোনো বর্ণকে ম্যাচ করুন, ছোট বা বড় অক্ষর | চেষ্টা করুন |
[+] | সমষ্টিতে, +, *, ., |, (), $, {} কোনো বিশেষ মান নেই, তাই [+] এটা বোঝায়: স্ট্রিংয়ের যে কোনো + চিহ্নকে ম্যাচ করুন | চেষ্টা করুন |
findall() ফাংশন
findall()
ফাংশন সকল ম্যাচকে অন্তর্ভুক্ত করা তালিকা ফিরিয়ে দেয়:
উদাহরণ
সকল ম্যাচকে তালিকাভুক্ত করুন:
import re str = "China is a great country" x = re.findall("a", str) print(x)
এই তালিকা ম্যাচকে পাওয়া ক্রমে অন্তর্ভুক্ত করা হয়:
যদি ম্যাচ না পাওয়া যায়, তবে ফলাফল খালি তালিকা:
উদাহরণ
যদি ম্যাচ না পাওয়া যায়, তবে ফলাফল খালি তালিকা:
import re str = "China is a great country" x = re.findall("USA", str) print(x)
search() ফাংশন
search()
ফাংশন স্ট্রিংয়ের মধ্যে ম্যাচকে অনুসন্ধান করে, যদি ম্যাচ থাকে, তবে Match অবজেক্ট ফিরিয়ে দেয়:
যদি একাধিক ম্যাচ থাকে, তবে শুধুমাত্র প্রথম ম্যাচকে ফিরিয়ে দেওয়া হবে:
উদাহরণ
স্ট্রিংয়ে প্রথম শূন্যস্থানকে অনুসন্ধান করুন:
import re str = "China is a great country" x = re.search("\s", str) print("The first white-space character is located in position:", x.start())
যদি ম্যাচ না পাওয়া যায়, তবে ফিরিয়ে দেওয়া মান: None
:
উদাহরণ
ম্যাচকে ফিরিয়ে দেওয়া না হলে, সংশোধন করুন:
import re str = "China is a great country" x = re.search("USA", str) print(x)
split() ফাংশন
split()
ফাংশন একটি তালিকা ফিরিয়ে দেয়, যাতে স্ট্রিং প্রত্যেক ম্যাচক্রমে ভাগ করা হয়:
উদাহরণ
প্রত্যেক শূন্যস্থানকে ভাগ করুন:
import re str = "China is a great country" x = re.split("\s", str) print(x)
আপনি সংকেত করতে পারেন maxsplit
প্রমাণীকৃত পারামিটার দিয়ে উপস্থিতিকৃত সংখ্যা নিয়ন্ত্রণ করুন:
উদাহরণ
শুধুমাত্র প্রথম উপস্থিতিতে স্ট্রিং ভাগ করুন:
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
sub() ফাংশন
sub()
ফাংশন ম্যাচকে আপনার বেছে নিয়েছেন টেক্সটকে প্রতিস্থাপন করে:
উদাহরণ
ডিজিটাল ৯ দিয়ে প্রত্যেক শূন্যস্থানকে প্রতিস্থাপন করুন:
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
আপনি সংকেত করতে পারেন count
প্রতিস্থাপন সংখ্যা নিয়ন্ত্রণ করার জন্য
উদাহরণ
প্রথম দুইটি প্রক্রিয়াকরণের পরিবর্তে
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Match অবজেক্ট
Match অবজেক্টটি সংশ্লিষ্ট সার্চ এবং ফলাফল সম্পর্কিত তথ্য ধারণকারী একটি অবজেক্ট
মন্তব্য:যদি ম্যাচ না থাকে, তবে ফলাফল উত্তরায় None
ভেবেও Match অবজেক্টের পরিবর্তে
উদাহরণ
সার্চ এক্সিকিউশন ম্যাচ অবজেক্ট ফিরিয়ে দেবে
import re str = "China is a great country" x = re.search("a", str) print(x) # এটি একটি অবজেক্ট প্রদর্শিত করবে
Match অবজেক্টটি সংশ্লিষ্ট সার্চ এবং ফলাফল সম্পর্কিত তথ্য উপলব্ধ করতে পারে
span()
ফিরিয়ে দেওয়া ট্যুপলটি ম্যাচের ভাবা এবং শেষ অবস্থান নিয়ে আসে.string
ফাংশনের প্রবেশদ্বার প্রদর্শিত স্ট্রিং ফিরিয়ে দিনgroup()
ম্যাচ করা হওয়া স্ট্রিং অংশ ফিরিয়ে দিন
উদাহরণ
প্রথম ম্যাচ অবস্থানটি প্রদর্শিত করুন (ভাবা এবং শেষ অবস্থান)
বড় "C"-দিকে যে কোনও শব্দ খুঁজুন
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
উদাহরণ
ফাংশনের প্রবেশদ্বার প্রদর্শিত স্ট্রিং প্রদর্শিত করুন
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
উদাহরণ
ম্যাচ করা হওয়া স্ট্রিং অংশ প্রদর্শিত করুন
বড় "C"-দিকে যে কোনও শব্দ খুঁজুন
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
মন্তব্য:যদি ম্যাচ আইটেম না থাকে, তবে ফলাফল উত্তরায় None
ভেবেও Match অবজেক্টের পরিবর্তে
- পূর্ববর্তী পৃষ্ঠা Python JSON
- পরবর্তী পৃষ্ঠা Python PIP