Heim > Backend-Entwicklung > Python-Tutorial > So verwenden Sie reguläre Python-Ausdrücke für die Volltextsuche

So verwenden Sie reguläre Python-Ausdrücke für die Volltextsuche

王林
Freigeben: 2023-06-22 18:00:01
Original
1464 Leute haben es durchsucht

Mit der Entwicklung des Informationszeitalters sind wir mit riesigen Daten- und Textmengen konfrontiert. Es ist sehr wichtig, die benötigten Inhalte schnell und effektiv zu finden. In diesem Zusammenhang sind reguläre Ausdrücke (Regular Expression), ein mächtiges Werkzeug, zu einem unersetzlichen Bestandteil der Textverarbeitung und -suche geworden. In diesem Artikel wird erläutert, wie Sie die regulären Ausdrücke von Python für die Volltextsuche verwenden, um Textdaten besser verarbeiten zu können.

1. Was ist ein regulärer Ausdruck? Ein regulärer Ausdruck, auch regulärer Ausdruck oder reguläre Notation genannt, ist ein Werkzeug zur Beschreibung von Textmustern. Es wird normalerweise zum Durchführen von Zeichenfolgenabgleichen, Suchvorgängen und anderen Textoperationen verwendet. Reguläre Ausdrücke bestehen aus einer Reihe von Zeichen und Steuerzeichen, die eine bestimmte Zeichenfolgenvorlage definieren und prüfen können, ob eine bestimmte Zeichenfolge mit der Vorlage übereinstimmt. Seine Stärke liegt nicht nur in der einfachen Zeichenübereinstimmung, sondern auch in der Verwendung spezieller Symbole zur Übereinstimmung mit bestimmten Zeichensätzen, Zeichenklassen oder Zeichenpositionen usw., wodurch eine flexiblere Textverarbeitung erreicht wird.

2. Verwenden Sie das re-Modul von Python, um Operationen mit regulären Ausdrücken auszuführen.

Python verfügt als Programmiersprache auf hoher Ebene über ein eigenes re-Modul zur Implementierung regulärer Ausdrucksfunktionen. Um das re-Modul verwenden zu können, müssen Sie das Modul zuerst importieren und dann die darin bereitgestellten Funktionen verwenden, um reguläre Ausdrucksoperationen auszuführen. Um beispielsweise alle Teile einer Zeichenfolge zu finden, die einem bestimmten Muster entsprechen, können Sie die Funktion re.findall() verwenden.

import re

str = „Hallo, mein Name ist Tom. Wie heißt du?“

pattern = r“name (.+?).“

matches = re.findall(pattern, str)

print (übereinstimmt)

Im obigen Code definieren wir eine Zeichenfolge str und ein Vorlagenmuster für reguläre Ausdrücke und verwenden dann die Funktion re.findall(), um alle Teile zu finden, die mit der Vorlage übereinstimmen, und das Ergebnis auszugeben. Wenn Sie den Code ausführen, können Sie sehen, dass eine Liste mit allen passenden Inhalten ausgegeben wird.

3. Verwenden Sie reguläre Ausdrücke für die Volltextsuche.

In praktischen Anwendungen müssen wir häufig einen Mustervergleich durchführen und den gesamten Text durchsuchen, anstatt nur eine einzelne Zeichenfolge zu finden. Schauen wir uns an, wie man reguläre Python-Ausdrücke für die Volltextsuche verwendet.

Text lesen
  1. Zuerst müssen wir den Text, den wir durchsuchen möchten, in Python lesen. Sie können die in Python integrierte Funktion open() verwenden, um eine Textdatei zu öffnen und ihren Inhalt in einem bestimmten Modus zu lesen.

mit open("sample.txt", "r") as f:

text = f.read()


Im obigen Code öffnen wir die Textdatei mit dem Namen sample.txt im schreibgeschützten Modus und setzen The Der Inhalt wird in die Textvariable eingelesen.

Schreiben eines regulären Ausdrucks
  1. Nachdem wir den Text gelesen haben, müssen wir einen korrekten regulären Ausdruck schreiben, der mit dem übereinstimmt, was wir finden möchten. Das Schreiben regulärer Ausdrücke erfordert ein umfassendes Verständnis der Struktur und Eigenschaften des Zieltextes.

Wenn wir beispielsweise alle Telefonnummern finden möchten, können wir den folgenden regulären Ausdruck verwenden, um eine Übereinstimmung gemäß dem Muster der Mobiltelefonnummern herzustellen:

pattern = r' 1[0-9]{9} '

Im obigen regulären Ausdruck stellt es die Wortgrenze dar, [1] stellt die erste Ziffer der Mobiltelefonnummer dar, die 1 ist, [3-9] stellt die zweite Ziffer der Mobiltelefonnummer dar, eine beliebige Zahl zwischen 3 und 9, [0 - 9]{9} bedeutet, dass die nächsten 9 Ziffern Zahlen sind. Mit diesem regulären Ausdruck können wir alle Mobiltelefonnummern in der Datei finden.

Mit der Funktion re.findall()
  1. Abschließend verwenden wir die Funktion re.findall(), um den gesamten Text zu durchsuchen und alle passenden Teile darin zu finden. Der spezifische Code lautet wie folgt:

import re

with open("sample.txt", "r") as f:

text = f.read()


pattern = r' 1[0-9]{ 9} '

matches = re.findall(pattern, text)

print(matches)

Im obigen Code weisen wir den gelesenen Text der Textvariablen zu und verwenden dann den zuvor geschriebenen regulären Ausdruck als passendes Muster , Verwenden Sie die Funktion re.findall(), um Text zu durchsuchen und alle übereinstimmenden Inhalte in der Trefferliste zu speichern. Durch Ausführen des Codes erhalten wir alle gewünschten Telefonnummern.

4. Zusammenfassung

Durch die Einleitung dieses Artikels haben wir die Prinzipien und die Verwendung regulärer Ausdrücke verstanden und gelernt, wie man das Re-Modul von Python für die Volltextsuche verwendet. In praktischen Anwendungen sind reguläre Ausdrücke ein wesentliches Werkzeug für die Textverarbeitung und Datenanalyse. Wenn wir verstehen, wie man sie verwendet, können wir große Daten- und Textmengen besser verarbeiten und die Arbeitseffizienz verbessern.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für die Volltextsuche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage