Питхон

Регуларни изрази у Питхону

Регуларни изрази у Питхону
У овом чланку ћемо укратко погледати регуларне изразе у питхону. Радићемо на уграђеним функцијама са примерима праћеним табелом која објашњава шта сваки знак значи у регуларном изразу ради бољег разумевања.

Шта је регуларни израз?

Пре него што пређемо на практичне примере, морамо знати шта је заправо регуларни израз. Регуларни израз је низ знакова који дефинише структуру уноса или образац претраживања. Замислите да ставите е-пошту или лозинку на неку случајну веб локацију попут Фацебоок-а, Твиттер-а или Мицрософт-а. Покушајте то погрешно изразити, а под погрешним мислим покушајте да се супротставите њиховој конвенцији. Јасно ће вам указати на те грешке. Нећете моћи да пређете на следећи корак док се ваш унос не подудара са обрасцем који су поставили у позадини. Тај специфични образац, који вас ограничава у давању било каквих додатних или ирелевантних информација, познат је као регуларни израз или регуларни израз.

Регуларни изрази у Питхону

Регуларни изрази немају различиту улогу у питхону као у другим програмским језицима. Питхон садржи модул ре који пружа пуну подршку за употребу регуларних израза. Сваки пут када се унесу неприкладне или ненадмашне информације или се деси било каква врста грешке, ово ре модул ће то схватити као изузетак који на крају помаже у решавању потребних проблема.

Узорци регуларних израза

Доступно је пуно знакова записаних у низу који чине одређени образац регуларног израза. Осим контролних знакова, (+ ? . * ^ $ () [] | \), сви ликови се подударају. Међутим, контролни знакови се могу избећи преписивањем обрнуте косе црте.

Следи табела која се састоји од обрасца и описа њиховог рада у питхону.

Шаблон Опис
[Пп] итхон Подударање „Питхон“ или „питхон“
Када [Ее] Подударност „Цев“ или „Цев“
[аеиоу] Подударајте се са било којим малим самогласником
[0-9] Упоредите било коју цифру између 0 и 9
[а-з] Поравнајте било које мало АСЦИИ слово
[А-З] Поравнајте било које велико АСЦИИ слово
[а-зА-З0-9] Поравнајте било које велико и велико АСЦИИ слово
или цифра између 0 и 9
[^ аеиоу] Подударајте се са било чим, само не са малим самогласницима
[^ 0-9] Подударите било шта, али не и цифру
. Подударајте се са било којим знаком, осим са новом линијом
\ д Подударање са било којом цифром: [0-9]
\ Д Упоредите не-цифру: [^ 0-9]
\ с Поравнајте размаке
\ С Поравнајте не-размаке
\ А Подударање почетка низа
\ З Крај краја низа
\ в Подударање знакова речи
\ В Ускладите знакове који нису речи
[…] Подударите било који појединачни знак у заградама
[^…] Поравнајте било који појединачни знак који није у заградама
$ Поравнајте крај реда
^ Поклапа се са почетком реда

Функције подударања и претраживања у Питхону

Сада ћемо овде видети два примера са две уграђене функције које постоје у питхону. Једна се подудара, а друга је функција претраживања. Обоје узимају исте параметре који су следећи:

Пре него што пређемо на пример дела, ево још једне ствари коју треба да знате. За добијање одговарајућих група могу се користити две методе:

Оно што се дешава је да када се користе функције подударања или претраживања, он прави подгрупе свих повезаних образаца пронађених у стринговима и структурира их на позицијама почевши од 0. Погледајте пример испод да бисте добили бољу идеју.

Функција подударања (пример)

У следећем примеру узели смо листу у којој смо користили регуларни израз који проверава речи које почињу словом 'а' и бираће само ако обе речи почињу истим словом и.е.: 'а'.

увоз ре
арраилист = [„афекат афекције“, „чин наклоности“, „програмирање наклоности“]
за елемент у арраилист-у:
к = ре.подударање („(а \ в +) \ В (г \ в +)“, елемент)
ако је к:
испис ((з.групе ()))

Излаз:

('наклоност', 'афекат')
(„наклоност“, „чин“)

Трећи елемент на листи неће се узимати у обзир јер се не подудара са регуларним изразом који каже да обе речи треба да почињу са „а“.

Функција претраживања (пример)

Ова функција се разликује од подударања. Претрага скенира целу реченицу, а подударање не. У следећем примеру, метод претраживања је успешан, али функција подударања није.

увоз ре
Улаз = “ДоцументатионНев”
в = ре.претрага („(та.*)", Улазни)
ако в:
испис („резултат:“ в.група (1))

Излаз:

резултат: татионНев

'та.* 'значи било шта иза' та 'што нам даје наш резултат као' татионНев 'из претраживаног улаза „ДоцументатионНев“.

Закључак

Регуларни изрази су пресудни за све програмере и сада можете лако видети како се користе регуларни изрази у програмском језику Питхон.

ОпенТТД вс Симутранс
Стварање сопствене симулације превоза може бити забавно, опуштајуће и изузетно примамљиво. Због тога морате да испробате што више игара како бисте про...
Водич за ОпенТТД
ОпенТТД је једна од најпопуларнијих игара за пословну симулацију. У овој игри морате створити диван посао превоза. Међутим, почет ћете у почетку око 1...
СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...