Moduł Regular Expressions(RE) określa zestaw ciągów(pattern), które do niego pasują.
Aby zrozumieć analogię RE, MetaCharacters są przydatne, ważne i będą używane w funkcjach modułu re.
Istnieje w sumie 14 metacharakterów i będą one omawiane w miarę ich stosowania w funkcjach:

\ Used to drop the special meaning of character following it (discussed below) Represent a character class^ Matches the beginning$ Matches the end. Matches any character except newline? Matches zero or one occurrence.| Means OR (Matches with any of the characters separated by it.* Any number of occurrences (including 0 occurrences)+ One or more occurrences{} Indicate number of occurrences of a preceding RE to match.() Enclose a group of REs
  • Funkcja compile()
    Wyrażenia regularne są kompilowane do obiektów wzorca, które posiadają metody do różnych operacji, takich jak wyszukiwanie dopasowań wzorca czy wykonywanie podstawień łańcuchów.
Python

.

import re
p = re.compile('')
print(p.findall("Aye, said Mr. Gibenson Stark"))



Wyjście:


Zrozumienie wyjścia:
Pierwszym wystąpieniem jest 'e’ w „Aye”, a nie 'A’, ponieważ wielkość liter ma znaczenie.
Następnym wystąpieniem jest 'a’ w „said”, potem 'd’ w „said”, następnie 'b’ i 'e’ w „Gibenson”, ostatnie 'a’ pasuje do „Stark”.
Znak metacharakteru backslash '\’ ma bardzo ważną rolę, ponieważ sygnalizuje różne sekwencje. Jeśli odwrotny ukośnik ma być użyty bez jego specjalnego znaczenia jako metaznak, użyj ’

Zestaw klasy będzie pasował do każdego znaku białego spacji, ’,’, lub,’.

Wyjście:


Wyjście:


Python

.

import re
p = re.compile('ab*')
print(p.findall("ababbaabbb"))



Wyjście:


Zrozumienie wyjścia:
Naszym RE jest ab*, któremu 'a’ towarzyszy dowolna liczba 'b’, począwszy od 0.
Wyjście 'ab’, jest poprawne ze względu na pojedyncze 'a’, któremu towarzyszy pojedyncze 'b’.
Wpisanie „abb”, jest ważne z powodu pojedynczego „a”, któremu towarzyszą 2 „b”.
Wprowadzenie „a”, jest ważne z powodu pojedynczego „a”, któremu towarzyszy 0 „b”.
Wynik 'abbb’, jest ważny z powodu pojedynczego 'a’, któremu towarzyszą 3 'b’.

  • Funkcja split()
    Podziel łańcuch przez występowanie znaku lub wzorca, po znalezieniu tego wzorca, pozostałe znaki z łańcucha są zwracane jako część listy wynikowej.
    Syntaktyka :
 re.split(pattern, string, maxsplit=0, flags=0)

Pierwszy parametr, wzorzec oznacza wyrażenie regularne, łańcuch jest podanym łańcuchem, w którym będzie poszukiwany wzorzec i w którym nastąpi podział, maxsplit, jeśli nie jest podane, jest uważane za zero '0′, a jeśli podana jest jakakolwiek niezerowa wartość, to występuje co najwyżej tyle podziałów. Jeśli maxsplit = 1, to łańcuch zostanie podzielony tylko raz, dając w wyniku listę o długości 2. Flagi są bardzo przydatne i mogą pomóc w skróceniu kodu, nie są niezbędnymi parametrami, np: flags = re.IGNORECASE, W tym podziale, wielkość liter będzie ignorowana.

Wyjście:


Wyjście:


  • Funkcja sub()
    Syntaktyka:
 re.sub(pattern, repl, string, count=0, flags=0)

'sub’ w funkcji oznacza SubString, pewien wzorzec wyrażenia regularnego jest wyszukiwany w podanym stringu(3. parametr), a po znalezieniu wzorca substring jest zastępowany przez repl(2. parametr), count sprawdza i utrzymuje liczbę powtórzeń tej czynności.

Wyjście

S~*ject has ~*er booked alreadyS~*ject has Uber booked alreadyS~*ject has Uber booked alreadyBaked Beans & Spam
  • Funkcja subn()
    Syntaktyka:
 re.subn(pattern, repl, string, count=0, flags=0)

subn() jest podobna do sub() na wszystkie sposoby, z wyjątkiem sposobu dostarczania danych wyjściowych. Zwraca tuple z liczbą całkowitych zamian i nowym łańcuchem, a nie tylko łańcuchem.

Wyjście

('S~*ject has Uber booked already', 1)('S~*ject has ~*er booked already', 2)Length of Tuple is: 2S~*ject has ~*er booked already
  • Funkcja escape()
    Syntaktyka:
re.escape(string)

Zwraca łańcuch ze wszystkimi niealfanumerycznymi znakami odwrotnymi, jest to przydatne, jeśli chcesz dopasować arbitralny literalny łańcuch, który może mieć w sobie metaznaki wyrażenia regularnego.

Python

.

import re
print(re.escape("This is Awseome even 1 AM"))
print(re.escape("I Asked what is this , he said \t ^WoW"))



Wyjście

This\ is\ Awseome\ even\ 1\ AMI\ Asked\ what\ is\ this\ \,\ he\ said\ \ \ \^WoW

Ten artykuł został napisany przez Piyush Doorwar. Jeśli podoba Ci się GeeksforGeeks i chciałbyś wnieść swój wkład, możesz również napisać artykuł używając contribute.geeksforgeeks.org lub wysłać artykuł pocztą na adres [email protected]. Zobacz, jak twój artykuł pojawia się na stronie głównej GeeksforGeeks i pomóż innym Geekom.
Pisz komentarze, jeśli znajdziesz coś niepoprawnego lub chcesz się podzielić większą ilością informacji na temat poruszony powyżej.

Uwaga geek! Wzmocnij swoje fundamenty dzięki kursowi Python Programming Foundation i naucz się podstaw.

Na początek przygotowania do rozmowy kwalifikacyjnej Wzmocnij swoje koncepcje struktur danych dzięki kursowi Python DS.

Tagi artykułu :

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.