Wprowadzenie do Python Regex

Python jest obecnie modnym słowem w branży technologicznej. Jest to język, który zyskuje popularność w szybkim tempie. Jest to bardzo dynamiczny język, który można wykorzystać do tworzenia aplikacji internetowych do algorytmów uczenia maszynowego. W tym artykule dowiemy się, jak Regex jest używany w Pythonie. Wyrażenie regularne jest krótką formą wyrażenia regularnego i jest w zasadzie sekwencją znaków, których można użyć jako wzorca. Dobrą rzeczą jest to, że Python ma własny wbudowany pakiet Regex znany jako re.

Składnia:

Zrozumiemy składnię na przykładzie. Przykład tego możemy przeszukać ciąg, aby zobaczyć, czy zaczyna się on na „On”, a kończy na „smart”.

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

Jeśli spojrzysz na składnię, jest to bardzo proste, musisz najpierw zaimportować pakiet regex, który jest ponownie, a następnie użyć dowolnej funkcji importowanego pakietu zgodnie z wymaganiami. Jeśli uruchomimy powyższy przykładowy kod w Jupyter, otrzymamy poniższy wynik.

Funkcje Regex w Pythonie

Istnieje wiele funkcji wyrażeń regularnych, które pomagają nam wyszukać szukany ciąg. Wcześniej dowiemy się o znakach, które zazwyczaj widzimy w funkcji wyrażenia regularnego.

()

Reprezentuje zestaw znaków.

.

Reprezentuje dowolny znak oprócz nowej linii.

*

Reprezentuje zero lub więcej wystąpień.

+

Reprezentuje jedno lub więcej wystąpień.

^

Reprezentuje postać początkową

$

Reprezentuje postać końcową.

|

Reprezentuje albo-albo.

()

Reprezentuje przechwytywanie i grupowanie.

\

Zwykle służy do ucieczki od znaków specjalnych

Regex ma również kilka specjalnych sekwencji, które przydadzą się na przykład:

\ w

Pokazuje dopasowanie, jeśli ciąg ma dowolny zestaw znaków słów z (0-9), AZ lub az i podkreślenie.

\ W

Zwraca dopasowanie, jeśli ciąg nie zawiera znaków słownych.

\re

Zwroty są zgodne, gdy w ciągu znajdują się cyfry.

\RE

Jest przeciwny do poprzedniego, ponieważ zwraca dopasowanie, jeśli w ciągu nie ma żadnych cyfr.

\ s

Służy do sprawdzania znaków białych znaków w ciągu. Zwraca dopasowanie, jeśli obecne są białe znaki.

\ S

Zwraca dopasowanie, gdy w ciągu nie ma białych spacji.

Funkcje używane w operacjach Regex

Zobaczmy różne funkcje modułu re, które mogą być używane do operacji wyrażeń regularnych w Pythonie.

1. funkcja findall (): Ta funkcja jest obecna w module re. Zwraca listę wszystkich dopasowań obecnych w ciągu. Iteruje od lewej do prawej w poprzek łańcucha. Dopasowania są również zwracane w dokładnie tej samej kolejności wyszukiwania. Przejrzymy przykład tego. Załóżmy, że chcemy znaleźć wszystkie cyfry obecne w ciągu. W tym celu użyjemy funkcji findall (), w której znajdziemy wszystkie cyfry obecne w ciągu. Zobaczmy teraz kod tego:

Kod:

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)

Jeśli przejdziemy przez kod, w zasadzie przypisujemy słowo zmienne łańcuchem zawierającym cyfry, a następnie przekazujemy odpowiedni symbol wyrażenia regularnego dla cyfr wraz ze słowem zmiennym jako argumentami w funkcji findall ()

Zobaczmy teraz wynik.

Jak widać, w rezultacie otrzymujemy listę liczb.

2. Funkcja wyszukiwania (): Funkcja wyszukiwania służy do wyszukiwania wzorców w ciągu znaków, a jeśli znaleziono dopasowanie, zwraca obiekt. Tutaj jedną rzeczą, o której musimy pamiętać, jest to, że jeśli występuje więcej niż jedno dopasowanie, wówczas zwraca tylko pierwsze wystąpienie. Jeśli nie zostanie znalezione dopasowanie, wówczas nie zwróci żadnego. Zobaczymy przykład tego, jeśli chcemy znaleźć ciąg rozpoczynający się od określonego słowa. Przetestujemy zarówno pozytywne, jak i negatywne przypadki dopasowania. Zobaczmy kod tego samego.

Kod:

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)

W tym przypadku zmienna „regex” jest używana w scenariuszu dodatnim, a zmienna „regex1” w scenariuszu negatywnym. Teraz zobacz wynik.

W pierwszym przypadku zwracany jest obiekt dopasowania, natomiast w drugim przypadku zwracany jest „Brak”.

3. Funkcja Split (): Ta funkcja dzieli ciąg po każdym dopasowaniu, co oznacza, że ​​jak tylko dopasowanie jest w ciągu, funkcja dzieli od niego ciąg. Tak więc, jeśli są trzy mecze, będą trzy podziały. Zobaczymy przykład. Załóżmy, że chcemy podzielić ciąg po każdej spacji. Możemy więc użyć tej funkcji podziału, aby dobrze wykorzystać w tej sytuacji.

Kod:

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

Tutaj wzory przedstawiają białe znaki. Zobaczmy teraz wynik.

Jak widać na wyjściu, łańcuch jest dzielony po każdej spacji.

4. Funkcja sub (): Ta funkcja zastępuje dopasowania ciągiem lub znakiem wybranym przez użytkownika. Zasadniczo oznacza to, że jeśli istnieje ciąg w dopasowaniu, zastąpi on dopasowany znak lub ciąg ciągiem lub znakiem i zwróci zmodyfikowany ciąg. Wymaga trzech argumentów. Na przykład zastąpimy białą spację ciągiem „&” w naszym ciągu.

Kod:

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

Przyjrzyjmy się teraz wynikowi powyższego kodu.

Jak widać, wszystkie spacje zostały zastąpione przez „&”.

Wniosek

W tym artykule omówiliśmy moduł regex i jego różne wbudowane funkcje Pythona. Regex jest bardzo ważny i jest szeroko stosowany w różnych językach programowania.

Polecane artykuły

To jest przewodnik po Python Regex. Tutaj omawiamy Wprowadzenie do Python Regex i niektóre ważne funkcje wyrażenia regularnego wraz z przykładem. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Podczas gdy pętla w Pythonie
  2. Odwrotna liczba w Pythonie
  3. Słowa kluczowe w języku Python
  4. Zestawy Python
  5. Słowa kluczowe PHP
  6. C ++ Słowa kluczowe