কম্পিউটার

উদাহরণ সহ পাইথনে নিয়মিত এক্সপ্রেশন?


রেগুলার এক্সপ্রেশন হল এক ধরনের প্রোগ্রামিং ল্যাঙ্গুয়েজ যা অক্ষরগুলির (স্ট্রিং) প্রদত্ত ক্রমানুসারে একটি প্যাটার্ন বিদ্যমান কিনা তা সনাক্ত করতে ব্যবহৃত হয়।

রেগুলার এক্সপ্রেশন বা Regex হল অক্ষরের একটি ক্রম যা একটি স্ট্রিং-এ নির্দিষ্ট সার্চ প্যাটার্ন আছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়।

RegEx মডিউল

RegEx মডিউল ব্যবহার করার জন্য, পাইথন বিল্ট-ইন প্যাকেজের সাথে আসে re নামক, যা আমাদের রেগুলার এক্সপ্রেশনের সাথে কাজ করতে হবে। RegEx মডিউল ব্যবহার করতে, শুধু পুনরায় মডিউল আমদানি করুন।

আমদানি পুনরায়

উদাহরণ

ইমপোর্ট retxt ="মেশিন লার্নিং-এ পাইথনের ব্যবহার" x =re.search("^Use.*Learning$", txt)if (x):print("হ্যাঁ! আমাদের একটা মিল আছে!")অন্যথায়:প্রিন্ট ("কোনও মিল নেই")

আউটপুট

<পূর্ব>হ্যাঁ! আমাদের একটা ম্যাচ আছে!

RegEx ফাংশন

রি মডিউলটি কয়েকটি ফাংশন অফার করে যা আমাদের একটি ম্যাচের জন্য একটি স্ট্রিং অনুসন্ধান করতে দেয়৷

ফাংশন
বিবরণ
ফাইন্ডাল
সমস্ত মিল সমন্বিত একটি তালিকা প্রদান করে
অনুসন্ধান করুন
একটি ম্যাচ বস্তু ফেরত দেয়, যদি স্ট্রিংয়ের কোথাও মিল পাওয়া যায়
বিভক্ত
একটি তালিকা প্রদান করে, যেখানে প্রতিটি গণিতে স্ট্রিং বিভক্ত করা হয়েছে
সাব
একটি বা একাধিক মিল একটি স্ট্রিং দিয়ে প্রতিস্থাপন করে

মেটাচ্যারেক্টার

RegEx-এর মেটা অক্ষর হল একটি বিশেষ অর্থ সহ অক্ষর৷

অক্ষর
বিবরণ
উদাহরণ
[]
অক্ষরের একটি সেট
"[a-m]"
\
একটি বিশেষ ক্রম সংকেত দেয়, বিশেষ অক্ষর এড়ানোর জন্যও ব্যবহৃত হয়
“\d”

নতুন লাইনের অক্ষর ছাড়া যেকোনো অক্ষর
“he..o”
^
দিয়ে শুরু হয়
“^হ্যালো”
$
এর সাথে শেষ হয়
“বিশ্ব$”
*
শূন্য বা তার বেশি ঘটনা
"ax*"
+
এক বা একাধিক ঘটনা
“aix+”
{}
ঘটনার নির্দিষ্ট সংখ্যা
“a|{2}”
|
হয় বা
"ছোট|দীর্ঘ"
()
ক্যাপচার এবং গ্রুপ

বিশেষ সিকোয়েন্স

RegEx-এ বিশেষ সিকোয়েন্স হল একটি \ এর পরে নীচে তালিকাভুক্ত অক্ষরগুলির একটি এবং এর একটি বিশেষ অর্থ রয়েছে -

চরিত্র
বিবরণ
উদাহরণ
\A
যদি নির্দিষ্ট অক্ষরগুলি স্ট্রিংয়ের শুরুতে থাকে তাহলে একটি মিল দেখায়
“\APyt”
\b
যদি নির্দিষ্ট অক্ষরগুলি একটি শব্দের শুরুতে বা শেষে থাকে তাহলে একটি মিল ফেরত দেয়৷
r"\bPython" r"world\b"
\B
নির্দিষ্ট অক্ষর উপস্থিত থাকলে একটি মিল দেখায়, কিন্তু একটি শব্দের শুরুতে (বা শেষে) নয়
r"\BPython" r"World\B"
\d
যদি স্ট্রিংটিতে সংখ্যা থাকে তাহলে একটি ম্যাচ ফেরত দেয়
“\d”
\D
একটি মিল ফেরত দেয় যদি স্ট্রিংটিতে সংখ্যা না থাকে
“\D”
\s
একটি মিল দেখায় যেখানে স্ট্রিংটিতে একটি সাদা স্থানের অক্ষর রয়েছে
“\s”
\S
একটি মিল দেখায় যেখানে স্ট্রিংটিতে একটি সাদা স্থানের অক্ষর থাকে না
“\S”
\w
স্ট্রিংটিতে কোনো শব্দের অক্ষর থাকলে একটি ম্যাচ ফেরত দেয় (অক্ষরগুলি a থেকে Z পর্যন্ত অক্ষর, 0-9 পর্যন্ত সংখ্যা এবং আন্ডারস্কোর _ অক্ষর হতে পারে
“\w”
\W
এমন একটি মিল দেখায় যেখানে স্ট্রিংটিতে কোনো শব্দের অক্ষর থাকে না
“\W”
\Z
যদি নির্দিষ্ট অক্ষরগুলি স্ট্রিংয়ের শেষে থাকে তাহলে একটি মিল দেখায়
“বিশ্ব\Z”

সেট

RegEx-এ একটি সেট হল একজোড়া বর্গাকার বন্ধনীর মধ্যে অক্ষরের একটি সেট [] যার কিছু বিশেষ অর্থ রয়েছে।

সেট
বিবরণ
[রাজ]
নির্দিষ্ট অক্ষরগুলির মধ্যে একটি (a, r বা n) উপস্থিত থাকলে একটি মিল দেখায়
কোন ছোট হাতের অক্ষরের জন্য একটি মিল দেখায়, বর্ণানুক্রমিকভাবে a এবং r এর মধ্যে
[^রাজ]
r, a এবং j ছাড়া যেকোনো অক্ষরের জন্য একটি মিল দেখায়
[0123]
একটি ম্যাচ ফেরত দেয় যেখানে যেকোনও গতি থাকে
[0-9]
0 এবং 9 এর মধ্যে যেকোনো অঙ্কের জন্য একটি মিল দেখায়
[0-3][0-8]
00 এবং 38 এর মধ্যে যেকোনো দুই-সংখ্যার সংখ্যার জন্য একটি মিল দেখায়
[a-zA-Z]
a থেকে z বা A থেকে Z এর মধ্যে বর্ণানুক্রমিকভাবে যেকোনো অক্ষরের জন্য একটি মিল দেখায়
<+]
স্ট্রিং-এর যেকোনো + অক্ষরের জন্য একটি মিল ফেরত দিন

উদাহরণ - findall()

Findall() ফাংশন সমস্ত মিল সম্বলিত একটি তালিকা প্রদান করে।

#একটি টেক্সট ইমপোর্ট রিটেক্সট ="মেশিন লার্নিং-এ পাইথনের ব্যবহার" x =re.findall("in", txt)প্রিন্ট(x) থেকে সমস্ত ম্যাচের একটি তালিকা (“in”) প্রিন্ট করুন

আউটপুট

['in', 'in', 'in']

উপরের আউটপুট ডিসপ্লে তালিকায় পাওয়া যায় এমন সব মিল রয়েছে। যাইহোক, যদি কোন মিল পাওয়া যায় না, একটি খালি তালিকা প্রদর্শিত হয়।

আপনার উপরের প্রোগ্রামে শুধু নীচের লাইনটি পরিবর্তন করুন, "প্যাটার্ন" যা পাঠ্য বা স্ট্রিংয়ে নেই।

x =re.findall("Hello", txt)

আউটপুট

 

উদাহরণ - অনুসন্ধান() ফাংশন

অনুসন্ধান() ফাংশন স্ট্রিং অনুসন্ধান করে এবং মিল পাওয়া গেলে একটি মিল বস্তু প্রদান করে।

যাইহোক, যদি একাধিক ম্যাচ থাকে, শুধুমাত্র ম্যাচের প্রথম ঘটনাটি ফেরত দেওয়া হবে।

import retxt ="পাইথন বিশ্বের অন্যতম জনপ্রিয় ভাষা"searchObj =re.search("\s", txt)মুদ্রণ("প্রথম সাদা-স্পেস অক্ষরটি অবস্থানে অবস্থিত:", searchObj। start())

আউটপুট

প্রথম সাদা-স্পেস অক্ষরটি অবস্থানে অবস্থিত:6

যাইহোক, যদি কোন মিল পাওয়া যায় না তাহলে কোনটিই ফেরত দেওয়া হয় না।

উদাহরণ - split() ফাংশন

RegEx-এ split() ফাংশন একটি তালিকা প্রদান করে যেখানে প্রতিটি ম্যাচে স্ট্রিং বিভক্ত করা হয়েছে -

# স্প্লিট এ প্রতিটি হোয়াইট-স্পেস ক্যারেক্টার ইমপোর্ট restring ="পাইথন বিশ্বের অন্যতম জনপ্রিয় ভাষা"searchObj =re.split("\s", string)print(searchObj)

ফলাফল

<প্রে> পূর্বে>

উদাহরণ - সাব() ফাংশন

RegEx-এ সাব() ফাংশন হল ম্যাচটিকে আপনার পছন্দের পাঠ্যের সাথে প্রতিস্থাপন করা।

#স্ট্রিং-এর প্রতিটি হোয়াইট-স্পেস দিয়ে প্রতিস্থাপন করুন _:import restring ="পাইথন বিশ্বের অন্যতম জনপ্রিয় ভাষা"searchObj =re.sub("\s", "_", স্ট্রিং)প্রিন্ট( searchObj)

ফলাফল

Python_is_one_of_the_most_popular_language_round_the_world

ম্যাচ অবজেক্ট

RegEx-এ একটি ম্যাচ অবজেক্ট হল একটি বস্তু যাতে অনুসন্ধান এবং ফলাফল সম্পর্কে তথ্য থাকে। কোনো মিল পাওয়া যায়নি, কোনোটিই ফেরত দেওয়া হয় না।

উদাহরণ - একটি স্ট্রিং অনুসন্ধান করুন এবং মিল বস্তু ফেরত.

import restring ="পাইথন হল বিশ্বের অন্যতম জনপ্রিয় ভাষা"searchObj =re.search("on", string)print(searchObj)

ফলাফল

<_sre.SRE_Match অবজেক্ট; span=(4, 6), match='on'>

মিল বস্তুটির বৈশিষ্ট্য এবং পদ্ধতি রয়েছে যা অনুসন্ধান এবং ফলাফল সম্পর্কে তথ্য পুনরুদ্ধার করতে ব্যবহৃত হয়৷

  • .span() - পাওয়া ম্যাচের শুরু এবং শেষ অবস্থান সম্বলিত একটি টিপল ফেরত দেয়।

  • .string – ফাংশনে পাস করা স্ট্রিং ফিরিয়ে দেয়।

  • .গোষ্ঠী() - স্ট্রিং এর অংশ ফেরত যেখানে একটি মিল ছিল।

উদাহরণ - স্ট্রিংয়ের অংশটি মুদ্রণ করুন যেখানে একটি মিল ছিল।

#অপার কেস “P” দিয়ে শুরু হওয়া যেকোন শব্দের সন্ধান করুন:import restring ="পাইথন হল বিশ্বের অন্যতম জনপ্রিয় ভাষা"searchObj =re.search(r"\bP\w+", স্ট্রিং )প্রিন্ট(সার্চঅবজে)

ফলাফল

<_sre.SRE_Match অবজেক্ট; span=(0, 6), match='Python'>

  1. উদাহরণ সহ জাভাস্ক্রিপ্ট রেগুলার এক্সপ্রেশন মডিফায়ার ব্যাখ্যা করুন

  2. রেগুলার এক্সপ্রেশন ব্যবহার করে পাইথনে একটি হোয়াইটস্পেস কীভাবে মেলে?

  3. রেগুলার এক্সপ্রেশন ব্যবহার করে পাইথনে ননওয়ার্ড অক্ষর কীভাবে মেলে?

  4. রেগুলার এক্সপ্রেশন ব্যবহার করে পাইথনে একটি শব্দ কিভাবে মেলে?