Питхон РегЕк: ре.матцх (), ре.сеарцх (), ре.финдалл () са примером

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

ДО Регуларни израз (РЕ) у програмском језику је посебан текстуални низ који се користи за описивање обрасца претраживања. Изузетно је корисно за извлачење информација из текста, попут кода, датотека, дневника, табела или чак докумената.

Док користимо Питхон регуларни израз, прво што треба препознати је да је све у суштини карактер, а ми пишемо обрасце који одговарају одређеном низу знакова који се такође називају стринг. Асции или латинична слова су она која се налазе на вашим тастатурама, а Уницоде се користи за усклађивање са страним текстом. Укључује цифре и интерпункцију и све посебне знакове попут $#@!%Итд.

У овом водичу за Питхон РегЕк ћемо научити-

На пример, Питхон регуларни израз могао би рећи програму да тражи одређени текст из низа, а затим да у складу с тим одштампа резултат. Израз може укључивати

  • Подударање текста
  • Понављање
  • Гранање
  • Композиција узорака итд.

Регуларни израз или РегЕк у Питхону се означава као РЕ (РЕ -ови, регекси или регекс узорци) се увозе путем ре модуле . Питхон подржава регуларно изражавање кроз библиотеке. РегЕк у Питхону подржава разне ствари попут Модификатори, идентификатори и знакови размака .

Идентификатори Модификатори Знакови празног простора Бекство је потребно
д = било који број (цифра) д представља цифру.Ек: д {1,5} декларисаће цифру између 1,5 попут 424,444,545 итд. н = нова линија. + *? [] $ ^ () {} |
Д = све осим броја (нецифрен)+ = подудара се са 1 или више с = размак
с = размак (таб, размак, нови ред итд.)? = одговара 0 или 1 т = таб
С = све осим размака* = 0 или више е = бекство
в = слова (Упарите алфанумеричке знакове, укључујући '_')$ подударање краја низа р = повратак кочије
В = све осим слова (подудара се са алфанумеричким знаком искључујући '_')^ подударање почетка низа ф = фид обрасца
. = све осим слова (тачке)| одговара или или к/и-----------------
б = било који знак осим новог реда[] = опсег или „варијација“----------------
.{к} = ова количина претходног кода-----------------

Синтакса регуларног израза (РЕ)

 import re 
  • 'ре' модул укључен у Питхон првенствено се користи за претраживање и манипулацију низовима
  • Такође се често користи за веб страницу „стругање“ (издвајање велике количине података са веб локација)

Ову једноставну вежбу започињемо упутством за изражавање користећи изразе (в+) и (^).

Пример израза в+ и ^

  • '^': Овај израз одговара почетку низа
  • 'в + ': Овај израз одговара алфанумеричком знаку у низу

Овде ћемо видети пример Питхон РегЕк -а како можемо да користимо изразе в+ и ^ у нашем коду. Покривамо функцију ре.финдалл () у Питхону, касније у овом водичу, али неко време се једноставно фокусирамо на в+ и ^ израз.

На пример, за наш низ 'гуру99, образовање је забавно' ако извршимо код са в+ и^, то ће дати излаз 'гуру99'.

 import re xx = 'on2vhf,education is fun' r1 = re.findall(r'^w+',xx) print(r1)

Запамтите, ако уклоните знак +са в +, излаз ће се променити и он ће дати само први знак првог слова, тј. [Г]

Пример с израза у ре.сплит функцији

  • 'с': Овај израз се користи за креирање размака у низу

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

Када извршите овај код, он ће вам дати излаз ['ве', 'аре', 'сплиттинг', 'тхе', 'вордс'].

Сада, да видимо шта ће се догодити ако уклоните '' из с. У излазу нема абецеде 'с', то је зато што смо уклонили '' из низа, и она оцењује 'с' као регуларни знак и на тај начин дели речи где год нађе 'с' у низу.

Слично томе, постоје низови других регуларних израза Питхон које можете користити на различите начине у Питхону, попут д, Д, $, ., Б итд.

Ево потпуног кода | _+_ |

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

Коришћење метода регуларног израза

Пакет 'ре' нуди неколико метода за стварно извршавање упита на улазном низу. Видећемо методе ре у Питхону:

  • ре.матцх ()
  • ре.сеарцх ()
  • ре.финдалл ()

Белешка : На основу регуларних израза, Питхон нуди две различите примитивне операције. Метод подударања проверава да ли се подудара само на почетку низа, док претрага проверава да ли се подудара било где у низу.

ре.матцх ()

ре.матцх () функција ре у Питхону ће претраживати образац регуларног израза и вратити прву појаву. Метод подударања Питхон РегЕк Матцх проверава да ли се подудара само на почетку низа. Дакле, ако се подударање пронађе у првом реду, враћа објект подударања. Али ако се пронађе подударање у некој другој линији, функција Питхон РегЕк Матцх враћа нулл.

На пример, размотрите следећи код функције Питхон ре.матцх (). Изрази 'в+' и ' В' ће се подударати са речима које почињу словом 'г' и након тога, све што није започето са 'г' није идентификовано. Да бисмо проверили подударност за сваки елемент на листи или низу, покрећемо форлооп у овом примеру Питхон ре.матцх ().

ре.сеарцх (): Тражење узорка у тексту

ре.сеарцх () функција ће претраживати образац регуларног израза и вратити прво појављивање. За разлику од Питхон -а ре.матцх (), он ће проверити све редове улазног низа. Питхон ре.сеарцх () функција враћа објект подударања када се образац пронађе и нулл ако образац није пронађен

Да бисте користили функцију сеарцх (), морате прво да увезете Питхон ре модул, а затим извршите код. Питхон ре.сеарцх () функција узима 'паттерн' и 'тект' за скенирање из нашег главног низа

На пример, овде тражимо два дословна низа „Тестирање софтвера“ „гуру99“, у текстуалном низу „Тестирање софтвера је забавно“. За „тестирање софтвера“ нашли смо подударност па враћа излаз Питхон -а ре.сеарцх () Пример као „пронађено је подударање“, док за реч „гуру99“ нисмо могли да пронађемо у низу, па зато враћа резултат као „Нема подударања '.

ре.финдалл ()

финдалл () модул се користи за тражење свих појављивања која одговарају датом обрасцу. Насупрот томе, модул сеарцх () ће вратити само прву појаву која одговара наведеном обрасцу. финдалл () ће понављати све редове датотеке и вратиће сва подударања која се не преклапају у једном кораку.

На пример, овде имамо списак адреса е-поште и желимо да све адресе е-поште буду извучене са листе, користимо методу ре.финдалл () у Питхону. Наћи ће све адресе е-поште са листе.

Ево потпуног кода за Пример ре.финдалл () | _+_ |

Питхон заставе

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

Различите заставице које се користе у Питхону укључују

Синтакса за заставице регуларних израза Шта ова застава ради
[ре.М]Нека почетак/крај размотре сваку линију
[ре.И]Игнорише велика слова
[ре.С]Направити [ . ]
[ре.У]Нека { в, В, б, Б} прати Уницоде правила
[ре.Л]Нека { в, В, б, Б} прате локализацију
[ре.Кс]Дозволи коментар у регуларном изразу

Пример заставица ре.М или Мултилине

У више редова знак узорка [^] подудара се са првим карактером низа и почетком сваког реда (одмах након сваког новог реда). Док се израз мали 'в' користи за означавање простора знаковима. Када покренете код, прва променљива 'к1' штампа само знак 'г' за реч гуру99, док када додате вишередну заставицу, она извлачи прве знакове свих елемената у низу.

Ево кода | _+_ |

  • Променили смо променљиву кк за стринг 'гуру99 .... риергуру99… .селениум '
  • Покрените код без употребе мултилине заставица, он даје излаз само 'г' из редова
  • Покрените код са заставицом 'мултилине', када одштампате 'к2' он даје излаз као 'г', 'ц' и 'с'
  • Дакле, разлику коју можемо видети након и пре додавања више редова у горњем примеру.

Слично, можете користити и друге Питхон заставице попут ре.У (Уницоде), ре.Л (Фоллов лоцале), ре.Кс (Аллов Цоммент) итд.

Пример Питхон 2

Горе наведени кодови су примери Питхона 3. Ако желите да радите у Питхону 2, размотрите следећи код. | _+_ |

Резиме

Регуларни израз у а програмски језик је посебан текстуални низ који се користи за опис шаблона претраживања. Укључује цифре и знакове интерпункције и све посебне знакове као што је $#@!%Итд. Израз може да садржи дословно

  • Подударање текста
  • Понављање
  • Гранање
  • Композиција узорака итд.

У Питхону, регуларни израз се означава као РЕ (РЕ, регекес или регек паттерн) уграђени су кроз Питхон ре модул.

  • 'ре' модул укључен у Питхон првенствено се користи за претраживање и манипулацију низовима
  • Често се користи и за „стругање“ веб страница (извлачење велике количине података са веб локација)
  • Методе регуларног изражавања укључују ре.матцх (), ре.сеарцх () & ре.финдалл ()
  • Остале методе замене Питхон РегЕк -а су суб () и субн () које се користе за замену одговарајућих низова у ре
  • Питхон заставе Многе Питхон Регек методе и Регек функције узимају опционални аргумент који се назива Флагс
  • Ове заставице могу изменити значење датог Регек обрасца
  • Различите заставице Питхон које се користе у Регек методама су ре.М, ре.И, ре.С итд.