Python RegEx
- ਪਿਛਲਾ ਪੰਨਾ Python JSON
- ਅਗਲਾ ਪੰਨਾ Python PIP
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())
ਟਿੱਪਣੀਆਂ:ਜੇਕਰ ਮੈਚ ਨਹੀਂ ਹੁੰਦਾ ਤਾਂ ਵਾਪਸ ਕੀਤਾ ਗਿਆ ਕੀਮਤ ਨਹੀਂ
ਮੱਚ ਆਬਜੈਕਟ ਦੀ ਥਾਂ ਨਾਲ
- ਪਿਛਲਾ ਪੰਨਾ Python JSON
- ਅਗਲਾ ਪੰਨਾ Python PIP