⊗pyPmREChS 40 of 129 menu

Python регулярдык туюнтмалардагы символдор топтому

Символдор тобу \d жана \w өтө ийкем эмес. Андай жөнөкөй милдет, мындай бардык тамгаларды, бирок сандарды эмес табуу - алар тарабынан чечилбейт. Ушул сыяктуу милдеттер үчүн 'же' амалын туюнткан чарчы кашааларды колдонуу керек.

Чарчы кашаалар ичиндеги тизмеленген бир символду алмаштырат. Мисалы, мындай: x[abc]x - биз чуңкурда x тамгасы турушу керек деп айтабыз, ал эми ортосунда - бир символ: же 'a', же 'b', же 'c'.

Чарчы кашаалардан кийин кайталоо операторлорун жаза аласыз. Мисалы, мындай: x[abc]+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'тин ортосунда 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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу