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'
'adca'-ны қоспай, 'abba' және 'abea' жолдарын табатын регулярды өрнек жазыңыз.