⊗pyPmRESF 73 of 129 menu

Python жолдық тұрақты өрнектер үшін белгілер

Тұрақты өрнектермен жұмыс істейтін әдістер үшін міндетті емес параметрлердің бірі ретінде белгілерді орнату үшін келесі синтаксис қолданылады:

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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართული한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау