⊗pyPmREChS 40 of 129 menu

Python тіліндегі реттік өрнектердегі таңбалар жиыны

\d және \w таңбалар топтары өте икемді емес. барлық әріптерді тап, бірақ сандарды емес - сияқты қарапайым міндетті де олар шеше алмайды. Мұндай міндеттер үшін 'немесе' операциясын білдіретін шаршы жақшаларды қолдану керек.

Шаршы жақшалар ішінде көрсетілген кез келген таңбаның орнына бір таңбаны ауыстырады. Мысалы, мыналай: x[abc]x - біз шеттерінде x әріптері тұруы керек, ал ортасында - бір таңба: 'a', 'b' немесе 'c' болады деп айтамыз.

Шаршы жақшалардан кейін қайталау операторларын жазуға болады. Мысалы, мыналай: x[abc]+x - біз x-тердің арасында 'a', 'b' және 'c' таңбаларының кез келген саны болуы мүмкін деп айтамыз - кез келген комбинацияда.

Тек таңбаларды тізбектей қойып қана қоймай, екі таңбаның арасына дефис қойып таңбалар топтарын жасауға болады. Мысалы, мыналай: [a-d] - біз 'a'-дан 'd'-ға дейінгі барлық таңбаларды аламыз.

Мысалдарды қарастырайық.

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 'a'-дан 'z'-ға дейінгі кез келген әріп:

<+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res) <-python->

Кодты орындау нәтижесі:

'! ! ! x@x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 'a'-дан 'k'-ға дейінгі кез келген әріп:

txt = 'xax xbx xmx x@x' res = re.sub('x[a-k]x', '!', txt) print(res)

Кодты орындау нәтижесі:

'! ! xmx x@x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 'A'-дан 'Z'-ға дейінгі кез келген әріп:

txt = 'xax xBx xcx x@x' res = re.sub('x[A-Z]x', '!', txt) print(res)

Кодты орындау нәтижесі:

'xax ! xcx x@x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 0-ден 9-ға дейінгі кез келген сан:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[0-9]x', '!', txt) print(res)

Кодты орындау нәтижесі:

'xax ! ! ! x@x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасыnda 3-тен 7-ге дейінгі кез келген сан:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[3-7]x', '!', txt) print(res)

Кодты орындау нәтижесі:

'xax x1x ! ! x@x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 'a'-дан 'z'-ға дейінгі кез келген әріп немесе 1-ден 9-ға дейінгі сан:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[a-z1-9]x', '!', txt) print(res)

Кодты орындау нәтижесі:

'! ! ! ! x@x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 'a'-дан 'z'-ға дейінгі кез келген әріп немесе 'A'-дан 'Z'-ға дейінгі әріп:

txt = 'xax xBx xcx x5x x@x' res = re.sub('x[a-zA-Z]x', '!', txt) print(res)

Кодты орындау нәтижесі:

'! ! ! x5x x@x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 'a'-дан 'z'-ға дейінгі кез келген әріп немесе 1, 2 сандары:

txt = 'xax xbx x1x x2x x3x' res = re.sub('x[a-z12]x', '!', txt) print(res)

Кодты орындау нәтижесі:

'! ! ! ! x3x'

Мысал

Бұл мысалда іздеу үлгісі мынадай: x-тердің арасында 'a'-дан 'z'-ға дейінгі әріптер 1 және одан да көп санында:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]+x', '!', txt) print(res)

Кодты орындау нәтижесі:

'xx ! ! ! x123x xa3x'

Мысал

Әріптер саны нөл де болуы мүмкін етіп жасайық:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]*x', '!', txt) print(res)

Нәтижесінде біз мынаны аламыз:

'! ! ! ! x123x xa3x'

Мысал

Шаршы жақшалардың ішінде экранирленген таңбаларды да көрсетуге болады. Әріптер мен сандардың нөл немесе одан да көп рет қайталанатын тізбегін табайық:

txt = 'xx x@x xadx xas12x xa3x' res = re.sub('x[a-z\d]*x', '!', txt) print(res)

Кодты орындау нәтижесі:

'! x@x ! ! !'

Мысал

Егер бізге басқа шаршы жақшаларды көрсету қажет болса, онда біз оларды да міндетті түрде экранирлейміз:

txt = 'xx xrx xas[]x x3x' res = re.sub('x[a-z\[\]]*x', '!', txt) print(res)

Кодты орындау нәтижесі:

'! ! ! x3x'

Практикалық есептер

Мына жол берілген:

txt = 'aba aea aca aza axa'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - 'b', 'e' немесе 'x' әріптері.

Мына жол берілген:

txt = 'a1a a3a a7a a9a aba'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - 3-тен 6-ға дейінгі сан.

Мына жол берілген:

txt = 'aba aea afa aha aga'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - 'a'-дан 'g'-ға дейінгі әріп.

Мына жол берілген:

txt = 'aba aea afa aha aga'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - 'a'-дан 'f'-қа дейінгі және 'j'-дан 'z'-ға дейінгі әріп.

Мына жол берілген:

txt = 'aAa aea aEa aJa a3a'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - 'a'-дан 'f'-қа дейінгі және 'A'-дан 'D'-ға дейінгі әріп.

Мына жол берілген:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - кіші латын әріптері, қалғандарына тиіспестен.

Мына жол берілген:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - кіші және үлкен латын әріптері, қалғандарына тиіспестен.

Мына жол берілген:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Мына үлгі бойынша табатын реттік өрнек жазыңыз: шеттерінде 'a' әріптері тұр, ал олардың арасында - кіші латын әріптері мен сандар, қалғандарына тиіспестен.

Қазақ
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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау