⊗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-երի միջև ցանկացած թվանշան 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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել