Python RegEx

RegEx ਜਾਂ ਪ੍ਰਤੀਰੂਪ ਪ੍ਰੈੱਕਸਪ੍ਰੈਸ਼ਨ ਹੈ ਖੋਜ ਪੈਟਰਨ ਬਣਾਉਣ ਲਈ ਅੱਕਸ਼ਰ ਲੜੀ。

RegEx ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਕਿ ਮੰਗੇ ਹੋਏ ਖੋਜ ਪੈਟਰਨ ਨੂੰ ਚੈੱਕ ਕਰਨ ਲਈ。

RegEx ਮੌਡੂਲ

Python ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਨਾਮ 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 این ماژول یک مجموعه از funkcشن‌ها را ارائه می‌دهد که به ما اجازه می‌دهد رشته‌ها را برای هماهنگی‌ها جستجو کنیم:

функشن ਵਰਣਨ
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] ਅਕਸਰ ਲਿਪੀ ਵਿੱਚ ਅਕਸਰ ਲਿਪੀ ਵਿੱਚ ਅਕਸਰ ਲਿਪੀ ਦਰਮਿਆਨ ਕਿਸੇ ਵੀ ਅੱਖਰ ਦੇ ਮੈਚ ਨੂੰ ਵਾਪਸ ਦਿੰਦਾ ਹੈ ਸਾਈਨਲ ਕਰੋ
[+] ਸਮੂਹ ਵਿੱਚ، +、*、.、|、()、$、{} ਵਿੱਚ ਕੋਈ ਵਿਸ਼ੇਸ਼ ਮਹਤਵ ਨਹੀਂ ਹੈ ਇਸ ਲਈ [+] ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ: ਸਟਰਿੰਗ ਵਿੱਚ ਕਿਸੇ ਵੀ + ਅੱਖਰ ਦੇ ਮੈਚ ਨੂੰ ਵਾਪਸ ਦਿੰਦਾ ਹੈ ਸਾਈਨਲ ਕਰੋ

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 ਪੈਰਾਮੀਟਰ ਦੀ ਮਦਦ ਨਾਲ ਬਦਲਣ ਦੀ ਸੰਖਿਆ ਨਿਯੰਤਰਿਤ ਕਰੋ:

ਇੰਸਟੈਂਸ

ਪਹਿਲੇ ਦੋ ਵਾਰ ਮੌਜੂਦ ਹੋਣ ਵਾਲੇ ਹਲਕੇ ਨੂੰ "9" ਨਾਲ ਬਦਲਿਆ ਜਾਵੇਗਾ:

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() ਵਾਪਸ ਦਿੱਤੀ ਗਈ ਜੋੜੀ ਵਿੱਚ ਮੈਚ ਦੀ ਸ਼ੁਰੂ ਅਤੇ ਸਮਾਪਤ ਸਥਾਨ ਹੁੰਦੇ ਹਨ
  • .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())

ਰਨ ਇੰਸਟੈਂਸ

ਟਿੱਪਣੀਆਂ:ਜੇਕਰ ਮੈਚ ਨਹੀਂ ਹੁੰਦਾ ਤਾਂ ਵਾਪਸ ਕੀਤਾ ਗਿਆ ਕੀਮਤ ਨਹੀਂਮੱਚ ਆਬਜੈਕਟ ਦੀ ਥਾਂ ਨਾਲ