Inhaltsverzeichnis
Typ der regulären Ausdruckszeichenfolge
2.2 Hauptfunktionsfunktionen der Re-Bibliothek
entspricht dem regulären Ausdruck vom Anfang eines Strings und gibt das Übereinstimmungsobjekt zurück
Suchen Sie nach einer Zeichenfolge und geben Sie alle passenden Teilzeichenfolgen im Listentyp zurück
Teilen Sie eine Zeichenfolge entsprechend dem Ergebnis des regulären Ausdrucks auf und geben Sie den Listentyp zurück
Suchzeichenfolge und Rückgabe eines Iterationstyps mit passenden Ergebnissen
Heim Backend-Entwicklung Python-Tutorial Einführung in reguläre Python-Ausdrücke und Re-Bibliothek (Codebeispiele)

Einführung in reguläre Python-Ausdrücke und Re-Bibliothek (Codebeispiele)

Feb 11, 2019 am 10:33 AM
python 正则表达式

Dieser Artikel bietet Ihnen eine Einführung (Codebeispiel) über reguläre Python-Ausdrücke und eine Referenz. Ich hoffe, dass er Ihnen weiterhilft.

Ein regulärer Ausdruck ist eine Zeichenfolge, die ein Suchmuster definiert. Typischerweise wird dieses Muster von Zeichenfolgensuchalgorithmen zum Suchen oder Suchen und Ersetzen von Zeichenfolgen oder zur Eingabevalidierung verwendet.

1. Reguläre Ausdruckssyntax

  • Stellt ein beliebiges einzelnes Zeichen dar

  • [] Zeichensatz , gibt einen Wertebereich für ein einzelnes Zeichen an

  • [^] Nicht-Zeichensatz, gibt einen Ausschlussbereich für ein einzelnes Zeichen an

  • * Das vorherige Zeichen wird 0-mal oder unendlich erweitert

  • + Das vorherige Zeichen wird 1-mal oder unendlich erweitert

  • Das vorherige Zeichen wird 0-mal erweitert? mal oder 1 Erweiterung

  • |Jeder der linken und rechten Ausdrücke

  • {m} erweitert das vorherige Zeichen m-mal

  • {m,n} erweitert das vorherige Zeichen m auf das n-fache

  • ^ stimmt mit dem Anfang der Zeichenfolge überein

  • $entspricht der Zeichenfolge Endung

  • () Gruppierungszeichen, nur der |.-Operator

  • d Zahlen können intern verwendet werden, was äquivalent ist bis [0-9]

  • w Wortzeichen, äquivalent zu [A-Z,a-z,0-9]

2. Verwendung der Re-Bibliothek in Python

Re-Bibliothek ist die Standardbibliothek von Python, die hauptsächlich für den String-Abgleich verwendet wird: import re

Typ der regulären Ausdruckszeichenfolge

re Die Bibliothek verwendet den Raw-String-Typ zur Darstellung regulärer Ausdrücke, der ausgedrückt wird als
r'text'
Rohstring ist ein String, der keine Escape-Zeichen mehr enthält , kurz gesagt, String maskiert Zeichen, unformatierte Zeichenketten jedoch nicht, da Escape-Symbole in regulären Ausdrücken vorkommen. Um Langeweile zu vermeiden, verwenden wir unformatierte Zeichenketten

2.2 Hauptfunktionsfunktionen der Re-Bibliothek

  • re.search() sucht die erste Position des regulären Ausdrucks in einer Zeichenfolge und gibt das Übereinstimmungsobjekt

  • re zurück .match() Gleicht einen regulären Ausdruck vom Anfang einer Zeichenfolge ab und gibt ein Übereinstimmungsobjekt zurück

  • re.findall() Suchzeichenfolge, gibt alle zurück Abgleich von Teilzeichenfolgen im Listentyp

  • re.split() Teilt eine Zeichenfolge entsprechend dem Ergebnis der regulären Ausdrucksübereinstimmung und gibt den Listentyp

  • re.finditer() Suchzeichenfolge und Rückgabe eines Iterationstyps passender Ergebnisse. Jedes Iterationselement ist ein Übereinstimmungsobjekt

  • re. sub()Ersetzen Sie alle Teilzeichenfolgen, die dem regulären Ausdruck in einem String entsprechen, und geben Sie den ersetzten String zurück

2.2. re.search(pattern, string, flags=0)

Suchen Sie nach der ersten Position des regulären Ausdrucks in einer Zeichenfolge und geben Sie das Übereinstimmungsobjekt zurück

  • Muster: die Zeichenfolge oder native Zeichenfolgendarstellung des regulären Ausdrucks

  • Zeichenfolge: die Zeichenfolge, mit der abgeglichen werden soll

  • Flags: wenn der reguläre Ausdruck verwendet wird Das Kontroll-Tag

  • re.I re.IGNORECASE ignoriert die Groß-/Kleinschreibung des regulären Ausdrucks, [A-Z] kann mit den Kleinbuchstaben übereinstimmen

  • re.M re.MULTILINE Der ^-Operator in regulären Ausdrücken kann beginnen jede Zeile einer bestimmten Zeichenfolge als Übereinstimmung

  • re.S re.DOTALL in regulären Ausdrücken. Der Operator kann alle Zeichen abgleichen und gleicht standardmäßig alle Zeichen außer Zeilenumbrüchen

  • Beispiel:
import re
match = re.search(r'[1-9]\d{5}', 'BIT 100081')
if match:
    print(match.group(0))

结果为100081
Nach dem Login kopieren

2.2.2. re.match(pattern, string, flags =0)

entspricht dem regulären Ausdruck vom Anfang eines Strings und gibt das Übereinstimmungsobjekt zurück

Die Parameter sind die gleichen wie bei der Suchfunktion

Beispiel:

import re
match = re.match(r'[1-9]\d{5}', 'BIT 100081')
print(match.group(0))

结果会报错,match为空,因为match函数是
从字符串开始位置开始匹配,因为从开始位置没有匹配到,所以为空
Nach dem Login kopieren

2.2.3 re .findall(pattern, string, flags=0)

Suchen Sie nach einer Zeichenfolge und geben Sie alle passenden Teilzeichenfolgen im Listentyp zurück

Die Parameter sind die gleichen wie bei der Suche

Beispiel:

import re
ls=re.findall(r'[1-9]\d{5}', 'BIT100081 TSU100084')
print(ls)

结果为['100081', '100084']
Nach dem Login kopieren

2.2.4. flags=0)

Teilen Sie eine Zeichenfolge entsprechend dem Ergebnis des regulären Ausdrucks auf und geben Sie den Listentyp zurück

    maxsplit: Die maximale Anzahl der Teilungen, der verbleibende Teil wird ausgegeben als letztes Element
  • Beispiel:
import re
re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084')
结果['BIT', ' TSU', ' ']
re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084', maxsplit=1)
结果['BIT', ' TSU100081']
Nach dem Login kopieren

2.2.5. re.finditer(pattern, string, maxsplit=0, flags=0)

Suchzeichenfolge und Rückgabe eines Iterationstyps mit passenden Ergebnissen

Die Parameter sind die gleichen wie bei der Suche

2.2.6 (Muster, Repl, String, Anzahl=0, Flags=0)

Ersetzen Sie alle Teilstrings, die dem regulären Ausdruck in einem String entsprechen, und geben Sie den ersetzten String zurück

repl: Ersetzen Sie die Zeichenfolge, die mit der Zeichenfolge übereinstimmt

  • Anzahl: Die maximale Anzahl von Ersetzungen für die Übereinstimmung

  • Beispiel:

    import re
    for m in re.finditer(r'[1-9]\d{5}', 'BIT100081 TSU100084'):
        if m:
            print(m.group(0))
    结果为
    100081
    100084
    Nach dem Login kopieren
  • 2.3 Eine weitere äquivalente Verwendung der Re-Bibliothek (objektorientiert)
import re
re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT100081 TSU100084')
结果为
'BIT:zipcode TSU:zipcode'
Nach dem Login kopieren
rst=re.search(r'[1-9]\d{5}', 'BIT 100081')
函数式的调用,一次性操作
Nach dem Login kopieren

regex=re.complie(pattern,flags=0)

regex hat auch die oben genannten sechs Verwendungen

2.4 Match-Objekt von Re-Bibliothek


Match-Objekt ist das Ergebnis einer Übereinstimmung und enthält viele Übereinstimmungsinformationen

Das Folgende sind Attribute des Match-Objekts

.string Zu vergleichender Text

  • .re Musterobjekt, das für den Vergleich verwendet wird (regulärer Ausdruck)

  • .pos Die Startposition des Suchtexts für reguläre Ausdrücke

  • .endpos Die Endposition des Suchtexts für reguläre Ausdrücke

Im Folgenden sind die Methoden des Match-Objekts

  • .group(0) aufgeführt, um die übereinstimmende Zeichenfolge

  • .start() entspricht der Zeichenfolge am Anfang der ursprünglichen Zeichenfolge.

  • .end() entspricht der Zeichenfolge am Ende der ursprünglichen Zeichenfolge

  • .span() gibt (.start(), .end()) zurück

2.5 Greedy Matching und minimales Matching der Re-Bibliothek

Wenn ein regulärer Ausdruck mit mehreren Elementen unterschiedlicher Länge übereinstimmen kann, welches wird zurückgegeben? Die Re-Bibliothek verwendet standardmäßig Greedy Matching, das heißt, sie gibt den längsten passenden Teilstring

den kleinsten passenden

    *? bevor ein Zeichen 0-mal oder unendlich erweitert wird, ist die Mindestübereinstimmung
  • +? Das vorherige Zeichen wird 1-mal oder unendlich erweitert, die Mindestübereinstimmung ist
  • ? Das vorherige Zeichen 0 oder 1 Mal erweitern, die Mindestübereinstimmung ist
  • {m,n}? Das vorherige Zeichen m bis n-mal erweitern ), die Mindestübereinstimmung ist
Solange die Längenausgabe unterschiedlich sein kann, können Sie nach dem Operator ? hinzufügen, um die Mindestübereinstimmung zu erhalten

Das obige ist der detaillierte Inhalt vonEinführung in reguläre Python-Ausdrücke und Re-Bibliothek (Codebeispiele). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1664
14
PHP-Tutorial
1267
29
C#-Tutorial
1239
24
PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Wie man Sublime Code Python ausführt Wie man Sublime Code Python ausführt Apr 16, 2025 am 08:48 AM

Um den Python-Code im Sublime-Text auszuführen, müssen Sie zuerst das Python-Plug-In installieren, dann eine .py-Datei erstellen und den Code schreiben, und drücken Sie schließlich Strg B, um den Code auszuführen, und die Ausgabe wird in der Konsole angezeigt.

Golang gegen Python: Leistung und Skalierbarkeit Golang gegen Python: Leistung und Skalierbarkeit Apr 19, 2025 am 12:18 AM

Golang ist in Bezug auf Leistung und Skalierbarkeit besser als Python. 1) Golangs Kompilierungseigenschaften und effizientes Parallelitätsmodell machen es in hohen Parallelitätsszenarien gut ab. 2) Python wird als interpretierte Sprache langsam ausgeführt, kann aber die Leistung durch Tools wie Cython optimieren.

Wo kann Code in VSCODE schreiben Wo kann Code in VSCODE schreiben Apr 15, 2025 pm 09:54 PM

Das Schreiben von Code in Visual Studio Code (VSCODE) ist einfach und einfach zu bedienen. Installieren Sie einfach VSCODE, erstellen Sie ein Projekt, wählen Sie eine Sprache aus, erstellen Sie eine Datei, schreiben Sie Code, speichern und führen Sie es aus. Die Vorteile von VSCODE umfassen plattformübergreifende, freie und open Source, leistungsstarke Funktionen, reichhaltige Erweiterungen sowie leichte und schnelle.

Wie man Python mit Notepad leitet Wie man Python mit Notepad leitet Apr 16, 2025 pm 07:33 PM

Das Ausführen von Python-Code in Notepad erfordert, dass das ausführbare Python-ausführbare Datum und das NPPEXEC-Plug-In installiert werden. Konfigurieren Sie nach dem Installieren von Python und dem Hinzufügen des Pfades den Befehl "Python" und den Parameter "{current_directory} {file_name}" im NPPExec-Plug-In, um Python-Code über den Shortcut-Taste "F6" in Notoza auszuführen.

See all articles