Johdatus Python Regexiin

Python on nykyään teknologiateollisuuden tavaramerkki. Se on kieli, jonka suosio kasvaa nopeasti. Se on erittäin dynaaminen kieli, ja sitä voidaan käyttää web-sovellusten rakentamiseen koneoppimisen algoritmeihin. Tässä artikkelissa aiomme oppia kuinka Regexiä käytetään Pythonissa. Regex on säännöllisen lausekkeen lyhyt muoto ja se on periaatteessa merkkijono, jota voidaan käyttää kuviona. Hyvä asia on, että Pythonilla on oma sisäänrakennettu Regex-paketti, joka tunnetaan nimellä re.

Syntaksi:

Ymmärrämme syntaksin esimerkillä. Esimerkki tästä voidaan etsiä merkkijono nähdäksesi alkaako hänellä "He" ja loppuuko "smart".

import reword = "He is very smart"
x =re.search("^He.*smart$", word)
print(x)

Jos tarkastelet syntaksia, se on hyvin yksinkertainen, sinun on ensin tuotava regex-paketti, joka on uudelleen, ja sitten käytettävä mitä tahansa tuodun paketin toimintoa vaatimuksiesi mukaan. Jos suoritamme yllä olevan näytekoodin Jupyterissä, saamme alla olevan tuloksen.

Regex-toiminnot Pythonissa

On monia regex-toimintoja, jotka auttavat meitä etsimään merkkijonoa ottelusta. Ennen sitä opitaan ensin merkeistä, jotka yleensä näemme regex-toiminnossa.

()

Se edustaa merkistöä.

.

Se edustaa mitä tahansa merkkiä paitsi uutta riviä.

*

Se edustaa nollaa tai enemmän tapahtumia.

+

Se edustaa yhtä tai useampaa tapahtumaa.

^

Se edustaa aloitusmerkkiä

$

Se edustaa päättyvää merkkiä.

|

Se edustaa joko tai.

()

Se edustaa sieppausta ja ryhmää.

\

Sitä käytetään yleensä erikoismerkkien paeta

Regexillä on myös muutama erityinen sekvenssi, josta on hyödyllistä tietää esimerkiksi:

\ w

Se näyttää vastaavuuden, jos merkkijonossa on jokin sanamerkkisarja välillä (0-9), AZ tai az ja alaviiva.

\ W

Se palauttaa vastaavuuden, jos merkkijonossa ei ole sanamerkkejä.

\ d

Nämä palautukset vastaavat, kun merkkijonossa on numeroita.

\ D

Se on vastapäätä edellistä, koska se palauttaa vastaavuuden, jos merkkijonossa ei ole numeroita.

\ s

Sitä käytetään merkkijonossa olevien välilyöntimerkkien tarkistamiseen. Se palauttaa vastaavuuden, jos välilyöntimerkkejä on läsnä.

\ S

Se palauttaa vastaavuuden, kun merkkijonossa ei ole valkoisia välilyöntejä.

Regex-toiminnoissa käytetyt toiminnot

Katsotaanpa re-moduulin erilaisia ​​toimintoja, joita voidaan käyttää regex-toimintoihin pythonissa.

1. findall () -toiminto: Tämä toiminto on läsnä uudelleenmoduulissa. Se palauttaa luettelon kaikista merkkijonossa olevista vastaavuuksista. Se iteroi vasemmalta oikealle merkkijonon yli. Ottelut palautetaan myös täsmälleen samassa hakujärjestyksessä. Käymme läpi esimerkin tästä. Oletetaan, että haluamme löytää kaikki merkkijonossa olevat numerot. Tätä varten käytämme findall () -toimintoa, josta löydät kaikki merkkijonossa olevat numerot. Katsotaanpa tämän koodia nyt:

Koodi:

import re
word = "Raju is 22 years old and his mobile number last three-digit is 789"
rgex ='\d+'
x =re.findall(rgex, word)
print(x)

Jos käymme läpi koodin, meille osoitetaan periaatteessa muuttujan sana merkkijonolla, joka sisältää numeroita, ja sitten kuljetaan numeroille sopiva regex-symboli muuttuvan sanan kanssa argumentteina findall () -toiminnossa.

Katsotaanpa nyt tulos.

Kuten voitte nähdä, saamme tuloksena luettelon numeroista.

2. haku () -toiminto: Hakutoimintoa käytetään merkkijonon kuvioiden etsimiseen ja jos vastaavuus löytyy, se palauttaa kohteen. Yksi asia, joka meidän on muistettava, on, että jos otteluita on enemmän kuin yksi, se palauttaa vain ensimmäisen tapahtuman. Jos vastaavuutta ei löydy, se ei palauta. Näemme esimerkin tästä oletetusta, jos haluamme löytää merkkijonon, joka alkaa tietyllä sanalla. Testaamme sekä positiivisia että negatiivisia otteluitapauksia. Katsotaanpa saman koodin.

Koodi:

import re
word = "Raju is 22 years old"
rgex ='^Raju'
x =re.search(rgex, word)
print(x)
regex1= '^Mohan'
x1 = re.search(regex1, word)
print(x1)

Tässä muuttujaa 'regex' käytetään positiivisessa skenaariossa ja muuttujaa 'regex1' negatiivisessa skenaariossa. Katso nyt lähtö.

Ensimmäisessä tapauksessa otteluobjekti palautetaan, kun taas toisessa tapauksessa 'ei mitään' palautetaan.

3. Jaa () -toiminto: Tämä toiminto jakaa merkkijonon jokaisen ottelun jälkeen, mikä tarkoittaa heti, kun merkkijonossa on vastaavuus, tämä toiminto jakaa merkkijonon sieltä. Joten jos otteluita on kolme, silloin tulee kolme jakoa. Näemme esimerkin. Oletetaan, että haluamme jakaa merkkijonon jokaisen välilyönnin jälkeen. Joten voimme käyttää tätä jaettua toimintoa hyvään käyttöön siinä tilanteessa.

Koodi:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.split(rgex, word)
print(x)

Tässä kuviot edustavat välilyönnin merkkiä. Katsotaanpa nyt tulos.

Kuten tuotosta voi nähdä, merkkijono jaetaan kunkin välilyönnin jälkeen.

4. sub () -toiminto: Tämä toiminto korvaa ottelut käyttäjän valitsemalla merkkijonolla tai merkillä. Pohjimmiltaan se tarkoittaa, että jos merkkijonossa on vastaavuus, se korvaa vastaavan merkin tai merkkijonon merkkijonollasi ja palauttaa muokatun merkkijonon. Se vie kolme väitettä. Esimerkiksi, korvaamme vain välilyönnin merkkijonoomme '&'.

Koodi:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.sub(rgex, '&', word)
print(x)

Katsokaamme nyt yllä olevan koodin lähtöä.

Kuten näette, kaikki välilyönnit korvattiin merkinnällä &.

johtopäätös

Tässä artikkelissa keskustelimme regex-moduulista ja sen monista Pythonin sisäänrakennetuista toiminnoista. Regex on erittäin tärkeä ja sitä käytetään laajasti eri ohjelmointikielissä.

Suositellut artikkelit

Tämä on opas Python Regexiin. Tässä keskustellaan Python Regexin johdannosta ja eräistä tärkeistä regex-toiminnoista yhdessä esimerkin kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Vaikka Loop Pythonissa
  2. Käänteinen numero Pythonissa
  3. Python-avainsanat
  4. Python-sarjat
  5. PHP-avainsanat
  6. C ++ avainsanat