Heim >Backend-Entwicklung >Python-Tutorial >Das Grundprinzip besteht darin, eine Reihe von Sonderzeichen und Syntax zu verwenden, um Textdaten abzugleichen und zu bearbeiten. Ein regulärer Ausdruck besteht normalerweise aus einer Musterzeichenfolge, die ein abzugleichendes Textmuster beschreibt, sowie einem oder mehreren Sonderzeichen und einer Syntax, die steuern, wie und was das Ergebnis ist. Reguläre Ausdrücke in Python werden normalerweise mit dem re-Modul implementiert
Regulärer Ausdruck, auch als regulärer Ausdruck bekannt (englisch: Regular Expression, im Code oft als Regex, Regexp oder RE abgekürzt), ist ein Konzept in der Informatik. Reguläre Ausdrücke werden häufig verwendet, um Text abzurufen und zu ersetzen, der einem bestimmten Muster entspricht. Viele Programmiersprachen unterstützen die String-Manipulation mithilfe regulärer Ausdrücke. Beispielsweise verfügt Perl über eine integrierte leistungsstarke Engine für reguläre Ausdrücke. Das Konzept der regulären Ausdrücke wurde ursprünglich durch Tool-Software unter Unix populär gemacht. Ein regulärer Ausdruck ist eine logische Formel, die mit Zeichenfolgen (einschließlich gewöhnlicher Zeichen (z. B. Buchstaben zwischen a und z) und Sonderzeichen („Metazeichen“) arbeitet und einige vordefinierte spezifische Zeichen sowie die Kombination dieser spezifischen Zeichen verwendet Zeichen bilden einen „Regelstring“. Dieser „Regelstring“ wird verwendet, um eine Filterlogik für Strings auszudrücken. Ein regulärer Ausdruck ist ein Textmuster, das eine oder mehrere Zeichenfolgen beschreibt, die bei der Suche nach Text übereinstimmen sollen.
Nachdem wir viel Unsinn geredet haben, können wir es anhand eines Beispiels veranschaulichen. Wir können reguläre Ausdrücke verwenden, um Tools oder Python zu testen Zuerst geben wir einen Text ein.
Hallo, mein Name ist Tina, meine Telefonnummer ist 123456 und meine Website ist http://tina.com.
[a-zA-z]+://[^\s]*
us Sie können den Weblink, also die URL, im Text abrufen. Ist das nicht erstaunlich?
Das liegt daran, dass es eigene Matching-Regeln gibt, von denen einige wie folgt lauten.
Modus | Beschreibung |
.#🎜 🎜 # # | Beliebiges Zeichen|
0 oder mehr Ausdrücke | #🎜🎜 ## 🎜🎜#+ |
sind alle gleichwertige Zeichen # 🎜🎜#? Entspricht der passenden Länge {0,1}
*Entspricht der passenden Länge {0,}
#+ entspricht der passenden Länge {1,}
d entspricht [0-9] #🎜🎜 #
D entspricht [^0-9]w entspricht [A-Za-z_0-9]#🎜🎜 ##🎜 🎜#
W entspricht [^A-Za-z_0-9]
2.match()#🎜 ###这里#Hier stelle ich eine häufig verwendete Matching-Methode vor & mdash; & mdash;
matching targetres = re.match('hello\s(\d+)sword')gieriges Matchingres = re.match('hello.*(\d+)sword')3.findall()
import re useData = str(input('请输入字符串数据:')) ''' 匹配字符串中的数字,+是匹配前面的子表达式一次或多次 ''' digital = re.findall('\d+',useData) print(digital)
Werfen wir einen Blick auf die laufenden Ergebnisse
Die Funktion findall() gibt alle übereinstimmenden Zeichenfolgen zurück und gibt einen Wert zurück Der Datentyp ist Liste. Gemeinsame SymboleLassen Sie uns über die gemeinsamen Symbole regulärer Ausdrücke sprechen.Das Zeichen „.“ stimmt mit jedem einzelnen Zeichen überein.
Das Zeichen „“ ist ein Escape-Zeichen. „[…]“ ist der Zeichensatz. „(.*?)“ ist das am häufigsten verwendete Zeichen in Python-Crawlern. Es wird als Greedy-Algorithmus bezeichnet und kann mit jedem Zeichen übereinstimmen.Schauen wir uns unten einen Beispielcode an.import re a=‘xxixxjshdxxlovexxsfhxxpythonxx' data=re.findall(‘xx(.*?)xx') print(data)Lassen Sie es uns ausführen und die Wirkung sehen. #? 🎜#Die sogenannten Sonderzeichen sind Zeichen mit besonderer Bedeutung, wie zum Beispiel die in runoo*b. Vereinfacht ausgedrückt repräsentieren sie die Bedeutung einer beliebigen Zeichenfolge. Wenn Sie das *-Symbol in einer Zeichenfolge finden möchten, müssen Sie das * maskieren, d. h. ein davor einfügen, damit runo*ob mit der Zeichenfolge runo*ob übereinstimmt.
Viele Metazeichen erfordern eine besondere Behandlung, wenn versucht wird, sie zuzuordnen. Um diese Sonderzeichen zuzuordnen, müssen Sie die Zeichen zunächst mit einem „Escapezeichen“ versehen, also mit einem Backslash voranstellen. Die folgende Tabelle listet die Sonderzeichen in regulären Ausdrücken auf:
Sonderzeichen
Beschreibung
#🎜 🎜#Entspricht der Endposition der Eingabezeichenfolge. Wenn die Multiline-Eigenschaft des RegExp-Objekts festgelegt ist, stimmt $ auch mit „n“ oder „r“ überein. Um das $-Zeichen selbst abzugleichen, verwenden Sie $.$
()
* | Entspricht dem vorhergehenden Unterausdruck null oder mehrmals. Um das Zeichen * zu finden, verwenden Sie *. |
+ | Entspricht dem vorhergehenden Unterausdruck einmal oder mehrmals. Um das +-Zeichen zu finden, verwenden Sie +. |
Entspricht jedem einzelnen Zeichen außer dem Zeilenumbruchzeichen n. Um zuzuordnen, verwenden Sie . | |
Das obige ist der detaillierte Inhalt vonDas Grundprinzip besteht darin, eine Reihe von Sonderzeichen und Syntax zu verwenden, um Textdaten abzugleichen und zu bearbeiten. Ein regulärer Ausdruck besteht normalerweise aus einer Musterzeichenfolge, die ein abzugleichendes Textmuster beschreibt, sowie einem oder mehreren Sonderzeichen und einer Syntax, die steuern, wie und was das Ergebnis ist. Reguläre Ausdrücke in Python werden normalerweise mit dem re-Modul implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!