Przykłady wyrażeń regularnych w Pythonie

Przyklady Wyrazen Regularnych W Pythonie



Pełną formą wyrażenia regularnego jest wyrażenie regularne. Jest to ważna cecha każdego języka programowania. Jest to wzorzec ciągu używany do dopasowywania, wyszukiwania lub zastępowania ciągów w wartości ciągu. Wzorzec regex może być używany w skrypcie Pythona przy użyciu modułu „re” Pythona. Moduł ten zawiera wiele typów funkcji umożliwiających wykonywanie różnych operacji na ciągach znaków. Różne metaznaki i specjalne sekwencje służą do definiowania wzorców wyrażeń regularnych do wyszukiwania lub zastępowania zadań. W tym samouczku przedstawiono cele użycia niektórych powszechnie używanych metaznaków, sekwencji specjalnych i metod wyrażeń regularnych w skrypcie języka Python.

Niektóre powszechnie używane metaznaki w wyrażeniach regularnych:









Postacie Zamiar
„+” Służy do dopasowania jednego lub większej liczby wystąpień określonego znaku w ciągu.
„*” Służy do dopasowania zera lub większej liczby wystąpień określonego znaku w ciągu.
„?” Służy do dopasowania zera lub jednego wystąpienia określonego znaku w ciągu.
„^” Służy do dopasowania określonego znaku lub ciągu znaków na początku ciągu.
„$” Służy do dopasowania określonego znaku lub ciągu znaków na końcu ciągu.
'|' Służy do dopasowywania dowolnego z wielu ciągów w ciągu. Działa to jak logika OR.
„[]” Służy do dopasowywania zakresu znaków.
„{}” Służy do dopasowania określonej liczby znaków.



Niektóre powszechnie używane sekwencje specjalne w wyrażeniach regularnych:





Sekwencje Zamiar
'\A' Służy do dopasowania określonego znaku na początku ciągu. Działa jak znak „^”.
„\b”, „\B” „\b” służy do dopasowania ciągu zawierającego określony znak lub słowo na początku lub na końcu ciągu. „\B” działa odwrotnie do „\b”.
„\d”, „\D” „\d” służy do dopasowania liczby dziesiętnej w ciągu znaków podobnym do „[0-9]”. „\D” działa odwrotnie do „\d”.
'\SS' „\s” służy do dopasowania białych znaków w ciągu znaków, podobnie jak „[\n\t\r\v]”. „\S” działa odwrotnie niż „\s”.
'\w W' „\w” służy do dopasowywania znaków alfabetycznych i numerycznych w ciągu. „\W” działa odwrotnie niż „\w”.
‘\Z’ Służy do dopasowania określonego znaku na końcu ciągu. Działa jak znak „$”.

Przykład 1: Dopasuj ciąg za pomocą funkcji Match().

Funkcja match() służy do dopasowania wzorca wyrażenia regularnego na początku łańcucha. Składnia tej funkcji jest podana w następujący sposób:



Składnia:

rewanż ( wzór, sznurek, flagi = 0 )

Tutaj pierwszy argument służy do zdefiniowania wzorca wyrażenia regularnego. Drugi argument służy do zdefiniowania głównego ciągu znaków. Trzeci argument jest opcjonalny i służy do definiowania różnych typów flag.

Utwórz plik Pythona za pomocą poniższego skryptu, który dopasowuje wzorzec wyrażenia regularnego do zdefiniowanego ciągu za pomocą funkcji match(). Najpierw do dopasowania używany jest zdefiniowany wzorzec wyrażenia regularnego. Następnie od użytkownika pobierane jest wyszukiwane słowo i używane jako wzór wyrażenia regularnego w celu dopasowania do wartości ciągu. Jeśli zostanie znalezione jakiekolwiek dopasowanie, drukowane jest wyszukiwane słowo. W przeciwnym razie drukowany jest ciąg „Nie znaleziono pasującej wartości”.

#Importuj niezbędny moduł
import dot

#Zdefiniuj funkcję, która ma wydrukować pasujący wynik
zdecydowanie ciąg dopasowania ( ) :
#Sprawdź wartość zwracaną przez funkcję match().
Jeśli wraz z ! = Brak:
wydrukować ( „” + grupa mat ( ) + „” znajduje się w „” + strWartość + „” )
w przeciwnym razie:
wydrukować ( „Nie znaleziono pasującej wartości.” )

#Zdefiniuj wartość ciągu
strWartość = „Pierwszy na wejściu, pierwszy na wyjściu”.
#Dopasuj ciąg znaków na podstawie wzorca
mata = ponowne dopasowanie ( „^Najpierw” , wartość str )
#Wywołaj funkcję, aby wydrukować wynik meczu
ciąg dopasowania ( )

#Weź szukany ciąg
wartość = dane wejściowe ( 'Wprowadź szukaną wartość: ' )
mata = ponowne dopasowanie ( inValue + , strValue )
#Wywołaj funkcję, aby wydrukować wynik meczu
ciąg dopasowania ( )

Dla „pierwszej” wartości wejściowej pojawiają się następujące dane wyjściowe:

Przykład 2: Znajdź ciąg za pomocą funkcji Findall().

Funkcja findall() służy do zwracania wszystkich pasujących słów znalezionych w głównym ciągu znaków w postaci krotki.

Składnia:

ponownie znaleźć ( wzór, sznurek, flagi = 0 )

Tutaj pierwszy argument służy do zdefiniowania wzorca wyrażenia regularnego. Drugi argument służy do zdefiniowania głównego ciągu znaków. Trzeci argument jest opcjonalny i służy do definiowania różnych typów flag.

Utwórz plik w języku Python za pomocą następującego skryptu, który pobiera od użytkownika wartość ciągu głównego i wartość ciągu wyszukiwania. Następnie użyj wyszukiwanego słowa we wzorcu wyrażenia regularnego, aby znaleźć wyszukiwane słowo w ciągu głównym. Na wyjściu zostanie wydrukowana liczba wszystkich dopasowań.

#Importuj niezbędny moduł
import dot

#Pobierz wartość ciągu
wartość = dane wejściowe ( 'Wpisz ciąg: ' )

#Wpisz szukane słowo
wartość src = dane wejściowe ( 'Wpisz wyszukiwane słowo: ' )

#Wyszukaj słowo w ciągu
srcResult = re.findall ( wartość src + '\w*' , w wartości )
#Drukuj wynik wyszukiwania
wydrukować ( 'Słowo '' + srcWartość + „” znajduje się w ciągu „”
+ ul ( tylko ( srcWynik ) ) + „czasy”. )

Zgodnie z wynikami, wyszukiwane słowo „jeść” występuje dwukrotnie w ciągu głównym „Jemy, aby żyć i nie żyjemy, aby jeść”.

Przykład 3: Wyszukaj ciąg za pomocą funkcji Search().

Search() to kolejna funkcja służąca do wyszukiwania określonego wzorca w wartości ciągu. Zawiera te same argumenty, co funkcje match() i findall(). Utwórz plik w języku Python za pomocą poniższego skryptu, który wyszukuje słowo „Python” w postaci ciągu znaków pobranego od użytkownika. Jeśli wyszukiwane słowo istnieje w wartości wejściowej, drukowany jest komunikat o powodzeniu. W przeciwnym razie drukowany jest komunikat o błędzie.

#Importuj ponownie moduł
import dot

#Pobierz wartość ciągu
wartość = dane wejściowe ( 'Wpisz ciąg: ' )
#Wyszukaj określone słowo w wartości ciągu
srcResult = ponowne wyszukiwanie ( R „Python\w*” , w wartości )

#Sprawdź, czy wyszukiwane słowo zostało znalezione, czy nie
Jeśli srcWynik:
wydrukować ( „” + srcResult.group ( ) + „” znajduje się w „” + wWartości + „” )
w przeciwnym razie:
wydrukować ( „Nie znaleziono szukanego ciągu.” )

Wyjście:

Jeśli ciąg wejściowy to „Lubię programować w Pythonie”, pojawią się następujące dane wyjściowe:

Jeśli ciąg wejściowy to „Lubię programowanie w PHP”, pojawi się następujący komunikat:

Przykład 4: Zamień ciąg za pomocą funkcji Sub().

Funkcja sub() służy do wyszukiwania określonego ciągu na podstawie wzorca i zastąpienia go innym słowem. Składnia tej funkcji jest podana w następujący sposób:

Składnia:

ponownie ( wzór, zamień_ciąg, główny_ciąg )

Pierwszy argument tej funkcji zawiera wzorzec używany do wyszukiwania określonego ciągu w ciągu głównym.

Drugi argument tej funkcji zawiera wartość ciągu znaków „zamień”.

Trzeci argument tej funkcji zawiera ciąg główny.

Ta funkcja zwraca zastąpiony ciąg, jeśli w ciągu głównym istnieje jakiekolwiek pasujące słowo na podstawie pierwszego argumentu.

Utwórz plik w języku Python za pomocą następującego skryptu, który wyszukuje dwie cyfry na końcu ciągu. Jeśli ciąg zawiera na końcu dwie cyfry, cyfry te są zastępowane ciągiem „50 $”.

#Importuj ponownie moduł
import dot

#Zdefiniuj główny ciąg
strWartość = „Cena książki wynosi 70”

#Określ wzór wyszukiwania
wzór = „[0-9]{2}”

#Zdefiniuj wartość zastępującą
zamieńwartość = „50 dolarów”

#Wyszukaj i zamień ciąg znaków na podstawie wzorca
zmodyfikowana_strValue = re.sub ( wzór, zamieńWartość, strWartość )
#Wydrukuj oryginalne i zmodyfikowane wartości ciągu
wydrukować ( „Oryginalny ciąg: „ + wartość str )
wydrukować ( „Zmodyfikowany ciąg:” + zmodyfikowana_wartość )

Wyjście:

Na końcu głównego sznurka było ich 70. Zatem liczba 70 zostaje zastąpiona przez 50 dolarów w zastąpionym ciągu.

Przykład 5: Zamień ciąg za pomocą funkcji Subn().

Funkcja subn() działa podobnie jak funkcja sub(), z tą różnicą, że zwraca wynik w postaci krotki, gdzie pierwszy indeks zawiera zastąpioną wartość, a drugi indeks zawiera całkowitą liczbę dopasowań.

Utwórz plik Pythona z następującym skryptem, który przeszukuje alfabety od A do L w ciągu „LinuxHint.com” za pomocą funkcji subn():

#Importuj ponownie moduł
import dot

#Zdefiniuj główny ciąg
strWartość = „LinuxHint.com”

#Określ wzór wyszukiwania
wzór = '[DO]'

#Zdefiniuj wartość zastępującą
zamieńwartość = „*”

#Wyszukaj i zamień ciąg znaków na podstawie wzorca
zmodyfikowana_strValue = re.subn ( wzór, zamieńWartość, strWartość )
#Wydrukuj oryginalny ciąg znaków i wynik subn()
wydrukować ( „Oryginalny ciąg: \N ' + wartość str )
wydrukować ( „Wyjście funkcji subn():” )
wydrukować ( zmodyfikowana_strWartość )

Wyjście:

Zgodnie z następującymi wynikami znaki „L” i „H” zastępuje się znakiem „*”.

Przykład 6: Podziel ciąg znaków za pomocą funkcji Split().

Utwórz plik Pythona za pomocą następującego skryptu, który użył funkcji split() do podzielenia głównego ciągu na wiele części w oparciu o wzorzec regex:

#Importuj ponownie moduł
import dot

#Zdefiniuj wartość ciągu
strVal = „Rupa Akter; Nira Chowdhury; Mazharul Islam”
#Zdefiniuj wzór, który będzie używany do podziału danych
wzór = „[^A-Za-z ]”
#Zapisz podzielone wartości na liście
split_result = re.split ( wzór, strVal )
wydrukować ( „Wyjście funkcji split():” )
wydrukować ( wynik_dzielenia )

Wyjście:

Zgodnie z wynikami główny ciąg znaków jest podzielony na trzy części w oparciu o wzorzec „[^A-Za-z ]” używany w skrypcie.

Wniosek

W tym samouczku przedstawiono cel najczęściej używanych metaznaków, zakresów i wbudowanych funkcji języka Python do wyszukiwania, zastępowania i dzielenia ciągów znaków przy użyciu prostych skryptów języka Python.