Lista metaznaków:
Zanim użyjesz wzorca do zastąpienia łańcucha, musisz znać sposób na napisanie wzorca wyrażenia regularnego. Możesz użyć dowolnej wartości ciągu jako wzorca dla dokładnego dopasowania. Ale dla konkretnego wyszukiwania musisz napisać wzorzec wyrażenia regularnego za pomocą metaznaku. Lista najczęściej używanych metaznaków do pisania wzorów jest podana poniżej ze znaczeniem.
Postać | Opis |
. | Służy do dopasowywania dowolnego pojedynczego znaku z wyjątkiem nowej linii. |
^ | Służy do dopasowania dowolnego znaku lub ciągu na początku strunowy. |
$ | Służy do dopasowania dowolnego znaku lub ciągu na końcu ciągu. |
+ | Służy do dopasowania jednego lub więcej wystąpień wzorca. |
? | Służy do dopasowania zera lub jednego wystąpienia wzorca. |
( ) | Służy do grupowania wzorów. |
Służy do dopasowania na podstawie dolnej lub górnej części lub jednocześnie dolnej i górnej granice. | |
[ ] | Służy do dopasowywania znaków na podstawie podanego zakresu. |
| | Służy do dopasowywania wzorców w oparciu o logikę OR. |
\ | Służy do definiowania określonych znaków lub znaków niebędących znakami lub cyframi lub niecyfry. |
Wymień metodę:
pod() metoda 're' moduł jest używany w Pythonie do wymiany ciągów.
Składnia:
sub(wzór, zamień, ciąg, liczba=0, flagi=0)Tutaj wzór, zastąpić i strunowy są obowiązkowymi argumentami. Jeśli wzór pasuje do dowolnej części strunowy wtedy zamieni część na wartość wymiana argument. Pozostałe dwa argumenty są opcjonalne. Niektóre zastosowania wyżej wymienionych metaznaków w metodzie sub() są pokazane w poniższych przykładach zamiany ciągów.
Przykład-1: Zamień ciąg na dopasowanie ścisłe
Jeśli znasz dokładną wartość ciągu, który chcesz przeszukać w głównym ciągu, możesz użyć wartości ciągu wyszukiwania jako wzorca w pod() metoda. Utwórz plik Pythona za pomocą następującego skryptu. W tym przypadku wyszukiwana wartość ciągu to „deszcz”, a zastępująca wartość ciągu to „słoneczny”.
#!/usr/bin/env python3# Importuj moduł regex
importuj ponownie
# Zdefiniuj ciąg
orgStr = "Jest deszczowy dzień"
# Zastąp ciąg
repStr = re.sub("deszczowy", "słoneczny", orgStr)
# Wydrukuj oryginalny ciąg
print("Oryginalny tekst:", orgStr)
# Wydrukuj zastąpiony ciąg
print("Zastąpiony tekst:", repStr)
Wynik:
Dane wyjściowe są pokazane po prawej stronie obrazu.
Przykład-2: Wyszukaj i zamień ciąg na początku
Utwórz plik Pythona za pomocą następującego skryptu, aby poznać użycie '^' we wzorcu wyrażenia regularnego. Tutaj '^[A-Za-z]+' jest używany jako wzorzec wyszukiwania. Przeszuka wszystkie znaki alfabetyczne z ZA do Z i za do z na początku tekstu i zastąp go pustą wartością. Zastąpiony ciąg zostanie wydrukowany wielkimi literami dla górny() metoda.
#!/usr/bin/env python3# Importuj moduł regex
importuj ponownie
# Wprowadź ciąg znaków
originalText = input("Wprowadź tekst\n")
# Wymień ciąg na podstawie wzorca
zamienionyTekst = re.sub('^[A-Za-z]+' , ", oryginalnyTekst).górny()
# Wydrukuj zastąpiony ciąg
print("Zastąpiony tekst:", zamienionyTekst)
Wynik:
Dane wyjściowe są pokazane po prawej stronie obrazu. Tutaj, 'Witaj, witaj w linuxhint' jest przyjmowany jako dane wejściowe i 'Cześć' słowo jest zastąpione przez " dla wzoru.
Przykład-3: Wyszukaj i zamień ciąg na końcu
Utwórz plik Pythona za pomocą następującego skryptu, aby poznać użycie „$' symbol we wzorcu wyrażenia regularnego. Tutaj „[a-z0-9]+$' jest używany jako wzorzec w skrypcie. Przeszuka wszystkie małe litery i cyfry na końcu tekstu, a jeśli zwróci true, pasująca część zostanie zastąpiona ciągiem 'com.bd'.
#!/usr/bin/env python3# Importuj moduł regex
importuj ponownie
# Wprowadź ciąg znaków
originalText = input("Wprowadź adres URL\n")
# Wymień ciąg na podstawie wzorca
zamienionyTekst = re.sub('[a-z0-9]+$' , 'com.bd', oryginalnyTekst)
# Wydrukuj zastąpiony ciąg
print("Zastąpiony tekst:", zamienionyTekst)
Wynik:
Dane wyjściowe są pokazane po prawej stronie obrazu. Tutaj, „https://www.Google.com” jest przyjmowany jako tekst wejściowy, a po zastąpieniu, „https://www.Google.com.bd' jest wypisywane jako wyjście.
Przykład 4: Wyszukaj i zamień konkretną część ciągu
Utwórz plik Pythona za pomocą poniższego skryptu, aby wyszukać i zastąpić część tekstu w miejscu, w którym pasuje wzorzec. Tutaj lista adresów e-mail jest przypisywana jako tekst do zmiennej o nazwie e-maile. '@[a-z]' jest używanym wzorcem wyszukiwania. Przeszuka każdy podciąg rozpoczynający się małymi literami, po których następuje '@„symbol”. Jeśli jakikolwiek podciąg pasuje, zastąpi ten podciąg przez 'hin'.
#!/usr/bin/env python3# Importuj moduł regex
importuj ponownie
# Zdefiniuj ciąg
emails = '\n[email chroniony] \n[email chroniony] \n[email chroniony]'
# Zastąp konkretną część ciągu na podstawie wzorca
zamienionyTekst = re.sub('@[a-z]*', '@linuxhint', e-maile)
# Wydrukuj oryginalny ciąg
print("Oryginalny tekst:", e-maile)
# Wydrukuj zastąpiony ciąg
print("\nZastąpiony tekst:", zamieniony tekst)
Wynik:
Dane wyjściowe są pokazane po prawej stronie obrazu. Tutaj każda część domeny adresu e-mail przypisanego w tekście jest zastępowana przez „linuxhint'.
Wniosek:
W tym samouczku pokazano kilka bardzo powszechnych zastosowań wzorców wyrażeń regularnych do zamiany ciągów. W pythonie istnieje wiele innych opcji pisania różnych typów prostych i skomplikowanych wzorców wyszukiwania i zastępowania ciągu tekstu.
Obejrzyj wideo autora: tutaj