Ներածություն Python-ի կանոնավոր արտահայտություններին
Կանոնավոր արտահայտությունները բարդ որոնման և փոխարինման (կամ պարզապես որոնման) հրամաններ են: Դրանք թույլ են տալիս անել շատ հետաքրքիր բաներ, բայց, դժբախտաբար, բավականին դժվար են յուրացման համար:
Python-ում կանոնավոր արտահայտությունների հետ աշխատանքը սկսելու համար մեզ անհրաժեշտ է ներմուծել հատուկ re մոդուլը:
import re
re մոդուլը ներառում է մեթոդներ, որոնք նախատեսված են կանոնավոր արտահայտությունների հետ աշխատելու համար: Կանոնավոր արտահայտությունը հրամանների մի շարք է և բաղկացած է երկու տեսակի նիշերից՝ նրանցից, որոնք նշանակում են իրենց自身, և հրամանային նիշերից, որոնք կոչվում են հատուկ նիշեր:
Կանոնավոր արտահայտությունների հետ ծանոթությունը ավելի լավ է սկսել sub մեթոդի օրինակով, որն օգտագործվում է տողում փոխարինումներ կատարելու համար: Առաջին պարամետրով մեթոդը ընդունում է, թե ինչը փոխարինել, երկրորդով՝ ինչով փոխարինել: Երրորդ պարամետրում նշում ենք այն տողը, որում անհրաժեշտ է կատարել փոխարինումը: Չորրորդ օպցիոնալ պարամետրում սահմանում ենք փոխարինումների քանակը: Ամենապարզ փոխարինումը այս մեթոդի միջոցով կունենա հետևյալ տեսքը.
res = re.sub('a', '!', 'bab')
print(res) # կարտադրի 'b!b'
Ինչպես նկատեցիք, կանոնավոր արտահայտության մեջ տառերը նշանակում են իրենց自身: Նույնը վերաբերում է նաև թվանշաններին: Եկեք փոխարինենք 2 թվանշանը !-ով.
res = re.sub('2', '!', '12abc3')
print(res) # կարտադրի '1!abc3'
Սակայն կետը հատուկ նիշ է և նշանակում է ցանկացած նիշ: Հաջորդ օրինակում եկեք գտնենք ենթատող ըստ այսպիսի նմուշի. 'x' տառը, ապա ցանկացած նիշ, ապա կրկին 'x' տառը.
res = re.sub('x.x', '!', 'xax eee')
print(res) # կարտադրի '! eee'
Տրված է տող.
txt = 'ahb acb aeb aeeb adcb axeb'
Գրեք կանոնավոր արտահայտություն, որը կգտնի 'ahb', 'acb', 'aeb' տողերը ըստ նմուշի. 'a' տառը, ցանկացած նիշ, 'b' տառը.
Տրված է տող.
txt = 'aba aca aea abba adca abea'
Գրեք կանոնավոր արտահայտություն, որը կգտնի 'abba', 'adca', 'abea' տողերը ըստ նմուշի. 'a' տառը, 2 ցանկացած նիշ, 'a' տառը.
Տրված է տող.
txt = 'aba aca aea abba adca abea'
Գրեք կանոնավոր արտահայտություն, որը կգտնի 'abba' և 'abea' տողերը՝ չբռնելով 'adca'-ն: