⊗pyPmRESF 73 of 129 menu

Vlae vir string regulêre uitdrukkings in Python

Om vlae as een van die opsionele parameters vir metodes wat met regex werk, te stel, gebruik jy die volgende sintaksis:

flags=re.vlaagnaam

Hoof vlae vir werk met regulêre uitdrukkings

Vlag Doel
re.IGNORECASE Ignoreer hoof- en kleinletters.
re.DOTALL Die punt stel voor enige karakter, insluitend 'n reëlingbreuk.
re.I Maak die soektog kas-onafsensitief.
re.L Soek woorde volgens die huidige taal. Hierdie interpretasie raak die alfabetiese groep (\w en \W), sowel as die gedrag van woordgrens (\b en \B).
re.M Karakter $ soek aan die einde van enige reël teks (nie net die einde van teks nie) en karakter ^ soek aan die begin van enige reël teks (nie net aan die begin van teks nie).
re.S Verander die betekenis van die punt (.) na ooreenstemming met enige karakter, insluitend 'n nuwe reël.
re.U Interpreteer letters volgens die Unicode karakterstel. Hierdie vlag beïnvloed die gedrag van \w, \W, \b, \B. In Python 3+ is hierdie vlag by verstek gestel.
re.X Stel multi-reël sintaksis van regulêre uitdrukking toe. Dit ignoreer spasies binne die patroon (behalwe spasies binne 'n stel [] of wanneer dit met 'n agteroorskuisstreep ontsnap is) en hanteer nie- ontsnapte '#' as 'n kommentaar.

Voorbeeld

Met die vlag re.IGNORECASE kan jy hoof- en kleinletters ignoreer. Kom ons kyk hoe dit gedoen word. In hierdie voorbeeld sal die regex slegs klein letters vind:

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

Die resultaat van die uitgevoerde kode:

'! ! CCC DDD'

Voorbeeld

En nou voeg ons die vlag re.IGNORECASE by in die vierde parameter van die metode en die regex sal karakters in alle gevalle begin soek:

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

Die resultaat van die uitgevoerde kode:

'! ! ! !'

Voorbeeld

Kom ons vind alle reëlingebreuke met regex:

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

Die resultaat van die uitgevoerde kode:

'aaa!bbb'

Voorbeeld

Maar as jy alle karakters wil vervang, dan sal, deur 'n punt in die regex te plaas, die reëlingebreuke nie gevang word nie:

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

Die resultaat van die uitgevoerde kode:

'!!! !!!'

Voorbeeld

Om hierdie fout reg te stel, moet jy die vlag re.DOTALL toepas:

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

Die resultaat van die uitgevoerde kode:

'!!!!!!!'

Voorbeeld

Jy kan ook verskeie vlae in die parameter deurgee, deur die operator + tussen hulle te plaas. Kom ons vervang eers die letter 'a' aan die einde van die reël:

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

Die resultaat van die uitgevoerde kode:

''' aaa AAA ! '''

Voorbeeld

Nou stel ons die vlag re.M:

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

Die resultaat van die uitgevoerde kode:

''' ! AAA ! '''

Voorbeeld

Kom ons pas nou ook die vlag vir die ignoreering van hoof- en kleinletters toe:

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

Die resultaat van die uitgevoerde kode:

''' ! ! ! '''
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp