⊗pyPmRESF 73 of 129 menu

Պայթոնում ռեգուլյար արտահայտությունների տողերի դրոշներ

Մեթոդներին, որոնք աշխատում են ռեգուլյար արտահայտությունների հետ, դրոշները որպես ընտրովի պարամետր նշելու համար օգտագործվում է հետևյալ շարահյուսությունը.

flags=re.դրոշի_անունը

Ռեգուլյար արտահայտությունների հետ աշխատանքի հիմնական դրոշները

Դրոշ Նպատակը
re.IGNORECASE Կերպարների գրելաձևի ռեգիստրի անտեսում:
re.DOTALL Կետը նշանակում է ցանկացած նիշ, ներառյալ տողի տեղափոխումը:
re.I Որոնումը դարձնում է անզգա ռեգիստրի նկատմամբ:
re.L Որոնում է բառեր ընթացիկ լեզվին համապատասխան: Այս մեկնաբանությունը ազդում է այբբենական խմբի վրա (\w և \W), ինչպես նաև բառի սահմանի վարքագծի վրա (\b և \B):
re.M $ նիշը որոնում է կատարում տեքստի ցանկացած տողի վերջում (ոչ միայն տեքստի վերջում) իսկ ^ նիշը որոնում է կատարում տեքստի ցանկացած տողի սկզբում (ոչ միայն տեքստի սկզբում):
re.S Փոխում է կետի (.) արժեքը՝ դարձնելով այն համընկնում ցանկացած նիշի հետ, ներառյալ նոր տողը:
re.U Մեկնաբանում է տառերը Unicode նիշերի հավաքածուին համապատասխան: Այս դրոշը ազդում է \w, \W, \b, \B վարքագծի վրա: Python 3+-ում այս դրոշը նախադրված է լռելյայն:
re.X Թույլ է տալիս ռեգուլյար արտահայտության բազմատող շարահյուսություն: Այն անտեսում է բացատները նախշի ներսում (բացառությամբ բացատների [] հավաքածուի ներսում կամ երբ էկրանավորված են հակադարձ շեղով) և չէկրանավորված '#' նիշը դիտարկում է որպես մեկնաբանություն:

Օրինակ

Օգտագործելով re.IGNORECASE դրոշը, կարելի է անտեսել նիշերի ռեգիստրը: Եկեք տեսնենք, թե ինչպես է դա արվում: Այս օրինակում ռեգուլյար արտահայտությունը կգտնի միայն փոքրատառ տառերը:

txt = 'aaa bbb CCC DDD' res = re.sub('[a-z]+', '!', txt) print(res)

Կոդի կատարման արդյունքը:

'! ! CCC DDD'

Օրինակ

Այժմ ավելացնենք re.IGNORECASE դրոշը մեթոդի չորրորդ պարամետրում, և ռեգուլյար արտահայտությունը կսկսի որոնել նիշեր բոլոր ռեգիստրներում.

txt = 'aaa AAA bbb BBB' res = re.sub('[a-z]+', '!', txt, flags=re.IGNORECASE) print(res)

Կոդի կատարման արդյունքը.

'! ! ! !'

Օրինակ

Եկեք գտնենք ռեգուլյար արտահայտությամբ բոլոր տողերի տեղափոխումները.

txt = '''aaa bbb''' res = re.sub('\n', '!', txt) print(res)

Կատարված կոդի արդյունքը.

'aaa!bbb'

Օրինակ

Բայց, եթե անհրաժեշտ է փոխարինել բոլոր նիշերը, ապա ռեգուլյար արտահայտության մեջ կետ դնելով, չեն բռնվելու տողերի տեղափոխումները.

txt = '''aaa bbb''' res = re.sub('.', '!', txt) print(res)

Կատարված կոդի արդյունքը.

'!!! !!!'

Օրինակ

Այս սխալը ուղղելու համար, պետք է կիրառել re.DOTALL դրոշը.

res = re.sub('.', '!', txt, flags=re.DOTALL) print(res)

Կատարված կոդի արդյունքը.

'!!!!!!!'

Օրինակ

Պարամետրում կարելի է փոխանցել նաև մի քանի դրոշ՝ դրանց միջև դնելով + օպերատորը: Եկեք նախ փոխարինենք 'a' տառը տողի վերջում.

txt = ''' aaa AAA aaa''' res = re.sub('aaa ', '!', txt) print(res)

Կատարված կոդի արդյունքը.

''' aaa AAA ! '''

Օրինակ

Այժմ դնենք re.M դրոշը.

res = re.sub('aaa ', '!', txt, flags=re.M) print(res)

Կատարված կոդի արդյունքը.

''' ! AAA ! '''

Օրինակ

Եկեք այժմ կիրառենք նաև ռեգիստրի անտեսման դրոշը.

res = re.sub('aaa ', '!', txt, flags=re.M+re.IGNORECASE) print(res)

Կատարված կոդի արդյունքը.

''' ! ! ! '''
Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել