Krajta

Regulární výrazy v Pythonu

Regulární výrazy v Pythonu
V tomto článku se krátce podíváme na regulární výrazy v pythonu. Budeme pracovat na vestavěných funkcích s příklady následovanými tabulkou, která vysvětluje, co každý znak znamená v regulárním výrazu pro lepší pochopení.

Co je regulární výraz?

Než přejdeme k praktickým příkladům, musíme vědět, co regulární výraz ve skutečnosti je. Regulární výraz je posloupnost znaků, která definuje strukturu vstupu nebo vyhledávacího vzoru. Představte si, že zadáte e-mail nebo heslo na nějaký náhodný web, jako je Facebook, Twitter nebo Microsoft. Zkuste to uvést špatně a špatně, myslím tím zkusit jít proti jejich konvencím. Jasně vás na tyto chyby upozorní. Nebude vám umožněno přejít k dalšímu kroku, dokud váš vstup nebude odpovídat vzoru, který nastavili v backendu. Tento konkrétní vzor, ​​který vás omezuje v zadávání jakýchkoli dalších nebo irelevantních informací, se nazývá regulární výraz nebo regulární výraz.

Regulární výrazy v Pythonu

Regulární výrazy nehrají v pythonu žádnou jinou roli jako v jiných programovacích jazycích. Python obsahuje modul re který poskytuje plnou podporu pro používání regulárních výrazů. Pokaždé, když jsou zadány nevhodné nebo nesrovnatelné informace nebo dojde k jakémukoli druhu chyby, toto re modul to zachytí jako výjimku, která nakonec pomůže vyřešit požadované problémy.

Regulární výrazy

K dispozici je spousta znaků napsaných v pořadí, které vytváří specifický vzor regulárního výrazu. Kromě kontrolních znaků, (+ ? . * ^ $ () [] | \), všechny postavy se shodují. Řídící znaky však lze uniknout přepsáním zpětného lomítka.

Následuje tabulka, která se skládá ze vzoru a popisu jejich práce v pythonu.

Vzor Popis
[Pp] ython Porovnejte výraz „Python“ nebo „python“
Vana [Ee] Porovnejte „TubE“ nebo „Tube“
[aeiou] Porovnejte jakoukoli malou samohlásku
[0-9] Porovnejte libovolnou číslici mezi 0 a 9
[a-z] Shodujte se s malými písmeny ASCII
[A-Z] Porovnejte jakékoli velké písmeno ASCII
[a-zA-Z0-9] Shodujte se s malými a velkými písmeny ASCII
nebo číslice od 0 do 9
[^ aeiou] Spojte cokoli kromě malých samohlásek
[^ 0-9] Přiřaďte cokoli kromě číslice
. Přiřaďte libovolný znak kromě nového řádku
\ d Porovnat libovolnou číslici: [0-9]
\ D Porovnat necifernou číslici: [^ 0-9]
\ s Shoda bílých mezer
\ S Shoda ne-bílých mezer
\A Porovnat začátek řetězce
\ Z Odpovídá konci řetězce
\ w Shoda slovních znaků
\ W Porovnávejte neslovné znaky
[…] Přiřaďte libovolný znak v závorkách
[^…] Přiřaďte libovolný znak, který není v závorkách
$ Porovnejte konec řádku
^ Porovnejte začátek řádku

Funkce vyhledávání a hledání v Pythonu

Nyní uvidíme dva příklady se dvěma vestavěnými funkcemi, které existují v pythonu. Jeden je shoda a druhý je vyhledávací funkce. Oba mají stejné parametry, které jsou následující:

Než skočíme do příkladu, zde je další věc, kterou musíte vědět. K získání odpovídajících skupin lze použít dvě metody:

Co se stane, je to, že když se použijí funkce shody nebo vyhledávání, vytvoří se podskupiny všech souvisejících vzorů nalezených v řetězcích a strukturuje je na pozicích od 0. V následujícím příkladu získáte lepší představu.

Funkce shody (příklad)

V následujícím příkladu jsme vzali seznam, ve kterém jsme použili regulární výraz, který kontroluje slova začínající písmenem 'a' a vybere pouze v případě, že obě slova začínají stejným písmenem i.E.: 'a'.

import re
arraylist = [“affection Affect”, “Affection Act”, “Affection Programming”]
pro prvek v arraylistu:
k = re.shoda („(a \ w +) \ W (g \ w +)“, prvek)
pokud k:
tisk ((z.skupiny()))

Výstup:

('náklonnost', 'ovlivnit')
('náklonnost', 'čin')

Třetí prvek v seznamu nebude brán v úvahu, protože neodpovídá regulárnímu výrazu, který říká, že obě slova by měla začínat písmenem „a“.

Funkce vyhledávání (příklad)

Tato funkce se liší od shody. Hledání prohledává celou větu, zatímco shoda ne. V následujícím příkladu je metoda hledání úspěšná, ale funkce shody nikoli.

import re
Vstup = „DocumentationNew“
v = re.hledat („(ta.*)", Vstup)
pokud v:
tisk („výsledek:“ v.skupina (1))

Výstup:

výsledek: tationNew

'ta.* „znamená cokoli za„ ta “, což nám dává výsledek„ tationNew “z hledaného vstupu„ DocumentationNew “.

Závěr

Regulární výrazy jsou zásadní pro všechny vývojáře softwaru a nyní můžete snadno vidět, jak používat regulární výrazy v programovacím jazyce Python.

Jak změnit velikost, barvu a schéma kurzoru myši a kurzoru v systému Windows 10
Ukazatel myši a kurzor ve Windows 10 jsou velmi důležité aspekty operačního systému. To lze říci i pro jiné operační systémy, takže ve skutečnosti nej...
Hry Zdarma a open source herní motory pro vývoj linuxových her
Zdarma a open source herní motory pro vývoj linuxových her
Tento článek pokryje seznam bezplatných a otevřených herních enginů, které lze použít pro vývoj 2D a 3D her v systému Linux. Existuje mnoho takových h...
Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...