Python RegEx

RegEx یا قواعد مثبت، تلاش کے نمونوں کو تشکیل دینے والی اکثر استعمال کئے جانے والی حروف کی سیرت ہیں。

RegEx یا قواعد مثبت جس کا استعمال کیا جاتا ہے تاکہ اسکریپٹ میں دفعات کو تلاش کیا جائے اور معائنہ کیا جائے کہ وہ معین کردہ تلاش کے نمونوں کو شامل کرتا ہے یا نہیں。

RegEx ماڈول

پائین کا میں نام کا re بسته‌های داخلی، که برای پردازش عبارت‌های نمونه‌ای استفاده می‌شود.}

ورود re ماژول:

import re

RegEx در Python

ورود re ماژول بعد از، می‌توانیم شروع به استفاده از عبارت‌های نمونه‌ای کنیم:

مثال

رشته را جستجو می‌کنیم تا ببینیم آیا با "China" شروع می‌شود و با "country" به پایان می‌رسد:

import re
txt = "China is a great country"
x = re.search("^China.*country$", txt)

مثال چلائیں

فونکشن‌های RegEx

re این ماژول یک مجموعه از فونکشن‌ها را ارائه می‌دهد که به ما اجازه می‌دهد رشته‌ها را برای جفت‌گیری‌ها جستجو کنیم:

فونکشن وصف
findall لیستی از جفت‌گیری‌ها را بازگردانده می‌کند که شامل همه جفت‌گیری‌هاست
search اگر در هر موقعیت از رشته جفت‌گیری وجود دارد، جفت‌گیری‌ای را بازگرداند
split لیستی از جفت‌گیری‌ها را بازگردانده می‌کند که در هر بار جفت‌گیری، رشته را تقسیم می‌کند
sub با استفاده از رشته، یک یا چندین جفت‌گیری را جایگزین می‌کند

کاراکترهای ویژه

کاراکترهای ویژه‌ای که دارای معنی خاصی هستند:

کاراکتر وصف مثال TIY
[] گروهی از کاراکترها "[a-m]" کوشش کریں
\ زنجیره‌های خاص نمونه‌ای (و همچنین می‌توانند برای فرار از کاراکترهای خاص استفاده شوند) "\d" کوشش کریں
. هر کاراکتر (به استثنای کاراکترهای خطوط جدید) "he..o" کوشش کریں
^ شروع می‌شود "^hello" کوشش کریں
$ به پایان می‌رسد "world$" کوشش کریں
* صفر بار یا چندین بار ظهور "aix*" کوشش کریں
+ یک بار یا چندین بار ظهور "aix+" کوشش کریں
{} تعداد دقیق مشخص شده‌ای از ظهور "al{2}" کوشش کریں
| هر دو "falls|stays" کوشش کریں
() گرفتن و گروه‌بندی

زنجیره‌های خاص

زنجیره‌های خاص به معنی \ به دنبال یکی از کاراکترهای زیر دارند، دارای معنی خاصی هستند:

کاراکتر وصف مثال TIY
\A اگر کاراکتر مشخص شده در ابتدای رشته وجود دارد، جفت‌گیری را بازگرداند "\AThe" کوشش کریں
\b یک جفت‌گیری بازگردانده می‌شود که کاراکتر مشخص شده در ابتدای کلمه یا انتهای آن است r"\bain"
r"rain\b"
کوشش کریں
کوشش کریں
\B یک جفت‌گیری بازگردانده می‌شود که کاراکتر مشخص شده وجود دارد اما در ابتدای کلمه (یا انتهای آن) نیست r"\Bain"
r"rain\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())

مثال چلائیں

اگر کوئی مطابقت نہیں پائی گئی تو بازگردانے والی کی جگہ: کوئی نہیں

مثال

مطابقت کو بازگردانے کے بغیر تلاش کریں:

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() فونکشن آپ کا منتخب کردہ متن متبادل کر دیتا ہے:

مثال

اگر 9 کا استعمال کرکے بلاک سپسٹ کا متبادل کریں:

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 اکائی تلاش اور نتائج کی معلومات حاصل کرنے کیلئے استعمال کی جاتی ہے

تعلیمات:اگر کوئی ماتحت نہیں ملا تو واپسی ویلو کوئی نہیں، بجائے میچ اکائی کے。

مثال

تلاش کو کیا جائے گا اور Match اکائی واپسی کی جائے گی:

import re
str = "China is a great country"
x = re.search("a", str)
print(x) # ایک اکائی پرنٹ کیا جائے گا

مثال چلائیں

Match اکائی وسیع استعمال فراہم کرتی ہے جو تلاش اور نتائج کی معلومات حاصل کرنے کیلئے استعمال کی جاتی ہیں:

  • span() واپسی کا tuple شامل ماتحت کی شروع اور ختم پوزیشن کا ہوتا ہے
  • .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())

مثال چلائیں

تعلیمات:اگر کوئی ماتحت کیا نہیں تو واپسی ویلو کوئی نہیں، بجائے میچ اکائی کے。