Модулдар
September 16, 2023

RE МОДУЛУ

Салам! Pythonдо, re модулу ийкемдүү издөөгө жана текстти манипуляциялоого мүмкүндүк берген үзгүлтүксүз туюнтма функцияларын камсыз кылат. Бул жерде re модулунун кээ бир негизги функциялары:

  1. re.compile(pattern): Бул функция регулярдуу туюнтманы саптарда ар кандай операцияларды аткаруу үчүн колдонула турган объектке түзөт.
  2. re.search(pattern, string): саптагы регулярдуу туюнтмага дал келген субсаптын биринчи көрүнүшүн издейт.
  3. re.match(pattern, string): Саптын башындагы кадимки туюнтмага дал келет.
  4. re.fullmatch(pattern, string): Бардык сап кадимки туюнтмага дал келгенин текшерет.
  5. re.findall(pattern, string): саптагы регулярдуу туюнтмага дал келген подсаптын бардык көрүнүштөрүн табат.
  6. re.finditer(pattern, string): Саптагы регулярдуу туюнтмага дал келген подсаптын бардык көрүнүштөрү боюнча кайталануучу итераторду кайтарат.
  7. re.sub(pattern, repl, string): Регулярдуу туюнтмага дал келген ички саптын бардык көрүнүштөрүн башка ички сап менен алмаштырат.
  8. re.split(pattern, string): Сапты кадимки туюнтмага дал келген ички саптарга бөлөт.

КОД МЕНЕН МИСАЛ

re.compile(pattern):

import re

pattern = r'\d+' # Бул регулярдуу сөз айкашы сандар ырааттуулугун издейт
regex = re.compile(pattern)

result = regex.findall('Жашы: 30, Бою: 175, Веси: 70')
print(result)  # ['30', '175', '70'] :Чыгат

re.search(pattern, string):

import re

pattern = r'\d+'  #Сандардын ырааттуулугун издейбиз
result = re.search(pattern, 'Жашы: 30, Бою: 175, Веси: 70')

if result:
    print(result.group())  # 30: Чыгат

re.match(pattern, string):

import re

pattern = r'Salam' # Саптын башында "Салам" дегенди издейбиз
result = re.match(pattern, 'Salam, World!')

if result:
    print('Дал келүү табылды')
else:
    print('Эч нерсе табылган жок')

re.fullmatch(pattern, string):

import re

pattern = r'Salam, World!' # Так дал келүүнү издеп жатабыз
result = re.fullmatch(pattern, 'Salam, World!')

if result:
    print('Дал келүү табылды')
else:
    print('Эч нерсе табылган жок')

re.findall(pattern, string):

import re

pattern = r'\d+' # Биз сандардын бардык ырааттуулугун издеп жатабыз
result = re.findall(pattern, 'Жашы: 30, Бою: 175, Веси: 70')

print(result)  # ['30', '175', '70'] :Чыгат

re.finditer(pattern, string):

import re

pattern = r'\d+' # Биз сандардын бардык ырааттуулугун издеп жатабыз
matches = re.finditer(pattern, 'Жашы: 30, Бою: 175, Веси: 70')

for match in matches:
    print(match.group())

re.sub(pattern, repl, string):

import re

pattern = r'көк|жашыл' # "көк" же "жашыл" издеп жатасыз
replacement = 'кызыл'
result = re.sub(pattern, replacement, 'Асман көк, чөп жашыл')

print(result) # Асман кызыл, чөп кызыл

re.split(pattern, string):

import re

pattern = r',\s*' # Пробел менен үтүр менен бөлөбүз
result = re.split(pattern, 'алма, банан, алмурут, өрүк')

print(result) # ['алма', 'банан', 'алмурут', 'өрүк'] :Чыгат

Кадимки сөз айкаштары текстти издөө жана иштетүү үчүн татаалыраак үлгүлөрдү түзүүгө мүмкүндүк берет. Мисалы, сиз так издөө үлгүлөрүн көрсөтүү үчүн метабелгилерди, сандык көрсөткүчтөрдү жана топторду колдоно аласыз.