Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der regulären Python-Ausdrücke

Detaillierte Erläuterung der regulären Python-Ausdrücke

silencement
silencementOriginal
2019-06-05 11:03:384082Durchsuche

Detaillierte Erläuterung der regulären Python-Ausdrücke

Das Konzept regulärer Ausdrücke

Ein regulärer Ausdruck ist eine logische Formel für Zeichenfolgenoperationen, die einige vordefinierte spezifische Zeichen und Kombinationen davon verwendet Bestimmte Zeichen bilden eine „Regelzeichenfolge“. Diese „Regelzeichenfolge“ wird verwendet, um eine Filterlogik für Zeichenfolgen auszudrücken.

Die Syntaxregeln regulärer Ausdrücke

Der grobe Matching-Prozess regulärer Ausdrücke ist:

1. Nehmen Sie die Ausdrücke heraus und vergleichen Sie sie Anzahl der Zeichen im Text,

2. Wenn jedes Zeichen gefunden werden kann, ist die Übereinstimmung erfolgreich; wenn es ein Zeichen gibt, das nicht erfolgreich übereinstimmt, schlägt die Übereinstimmung fehl.

3. Wenn der Ausdruck Quantoren oder Grenzen enthält, wird der Prozess etwas anders sein.

Im Folgenden finden Sie einige Übereinstimmungsregeln für reguläre Ausdrücke in Python

Modus

Beschreibung

^

entspricht dem Anfang der Zeichenfolge

$

Entspricht dem Ende der Zeichenfolge.

.

passt auf alles außer Zeilenumbrüche (n) Jedes Zeichen kann, wenn das re.DOTALL-Tag angegeben ist, mit jedem Zeichen, einschließlich Zeilenumbrüchen, übereinstimmen.

[...]

wird verwendet, um eine Gruppe von Zeichen darzustellen, die separat aufgeführt werden: [amk] stimmt mit „a“, „m“ oder „k“ überein

[^...]

Zeichen nicht in []: [^abc] stimmt mit Zeichen außer a, b, c überein.

re*

stimmte mit 0 überein oder mehrere Ausdrücke.

re+

Entspricht einem oder mehreren Ausdrücken.

re?

entspricht 0 oder 1 Fragment, das durch den vorhergehenden regulären Ausdruck definiert ist, auf nicht gierige Weise

re{ n}

re{ n,}

Entspricht genau n vorherigen Ausdrücken.

re{ n, m}

Passen Sie das n- bis m-fache des durch den vorherigen regulären Ausdruck definierten Fragments auf gierige Weise an

a|. b

entspricht a oder b

(re)

G passt innerhalb von Klammern Ausdruck, stellt auch eine Gruppe dar

(?imx)

Reguläre Ausdrücke enthalten drei optionale Flags: i, m oder x. Betrifft nur den Bereich in Klammern.

(?-imx)

Regulärer Ausdruck zum Deaktivieren der optionalen Flags i, m oder x. Betrifft nur den Bereich in Klammern.

(?: re)

ähnelt (...), stellt aber keine Gruppe dar

(?imx: re)

Verwenden Sie die optionalen Flags i, m oder x in Klammern

(?-imx: re)

Verwenden Sie keine optionalen Flags i, m oder x in Klammern

( ?#...)

Hinweis.

(?= re)

Positives Trennzeichen vorwärts. Erfolgreich, wenn der enthaltene reguläre Ausdruck, gekennzeichnet durch ..., erfolgreich mit der aktuellen Position übereinstimmt, andernfalls schlägt er fehl. Aber sobald der enthaltene Ausdruck ausprobiert wurde, verbessert sich die Matching-Engine überhaupt nicht; der Rest des Musters muss immer noch die rechte Seite des Trennzeichens ausprobieren.

(?! re)

Negatives Trennzeichen vorwärts. Das Gegenteil von positivem Trennzeichen; ist erfolgreich, wenn der enthaltene Ausdruck an der aktuellen Position in der Zeichenfolge nicht gefunden werden kann

(?> re)

Unabhängiges Muster abgleichen, Rückverfolgung eliminieren.

w

entspricht Buchstaben, Zahlen und Unterstrichen, entspricht „[A-Za-z0-9_]“.

W

entspricht nicht alphanumerischen Zeichen und Unterstrichen, äquivalent zu „[^A-Za-z0-9_]“.

s

entspricht jedem Leerzeichen, äquivalent zu [tnrf].

S

entspricht jedem nicht leeren Zeichen, äquivalent zu [^ fnrtv].

d

entspricht einer beliebigen Zahl, entsprechend [0-9].

D

entspricht einer beliebigen Zahl, die keine Zahl ist, entsprechend [^0-9].

A

Entspricht dem Zeichenfolgenanfang

Z

entspricht dem Ende der Zeichenfolge. Wenn eine neue Zeile vorhanden ist, wird nur das Ende der Zeichenfolge vor der neuen Zeile abgeglichen. c

z

Ende der passenden Zeichenfolge

G

Entspricht der Position, an der das letzte Match abgeschlossen wurde.

b

entspricht einer Wortgrenze, die sich auf die Position zwischen einem Wort und einem Leerzeichen bezieht. Beispielsweise entspricht „erb“ „er“ in „never“, aber nicht „er“ in „verb“.

B

Entspricht Nicht-Wortgrenzen. „erB“ entspricht „er“ in „verb“, aber nicht in „never“.

n, t usw.

entspricht einem Zeilenumbruchzeichen. Entspricht einem Tabulatorzeichen. Warten

1...9

entspricht dem Inhalt der n-ten Gruppe.

10

Entspricht dem Inhalt der n-ten Gruppe, wenn er übereinstimmt. Ansonsten bezieht es sich auf den Ausdruck des oktalen Zeichencodes.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der regulären Python-Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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