Python-Methode re.fullmatch()

Python re 模块Python-re-Modul


re.fullmatch()ist eine PythonreModul, das dazu verwendet wird,vollständig abzugleicheneine Funktion für die gesamte Zeichenkette.

undre.match()Im Gegensatz zu,re.fullmatch()es erfordert, dass die gesamte Zeichenkette vollständig mit dem regulären Ausdruck übereinstimmt, nicht nur am Anfang übereinstimmt.

Wortbedeutung: full matchbedeutet vollständige Übereinstimmung.


Grundlegende Syntax und Parameter

re.fullmatch()ist eine Funktion auf Modulebene, die direkt aufgerufen wird überredas Modul.

Syntaxformat

re.fullmatch(pattern, string, flags=0)

Parameterbeschreibung

  • pattern:
    • Typ: Zeichenkette (str)
    • Beschreibung: Das Muster des regulären Ausdrucks, mit dem abgeglichen werden soll.
  • string:
    • Typ: Zeichenkette (str)
    • Beschreibung: Die Zeichenkette, die abgeglichen werden soll.
  • Flags:
    • Typ: Ganzzahl (int, optional)
    • Beschreibung: Flags für reguläre Ausdrücke.

Funktionsbeschreibung

  • Rückgabewert: Wenn die gesamte Zeichenkette übereinstimmt, gibtmatchObjekt zurück; andernfalls gibtNone。
  • Merkmal: Erfordert, dass die Zeichenkette vollständig von Anfang bis Ende übereinstimmt, keine zusätzlichen Zeichen erlaubt.

Beispiele

Meistern wir das anhand einer Reihe von Beispielenre.fullmatch()die Verwendung von.

Beispiel 1: Grundlegende Verwendung - Vollständige Übereinstimmung

Beispiel

import re

# Die gesamte Zeichenkette vollständig abgleichen
text = "hello"

result = re.fullmatch(r'hello', text)

if result:
    print("Vollständige Übereinstimmung erfolgreich:", result.group())

Erwartete Ausgabe:

完整匹配成功: hello

Code-Erklärung:

  • re.fullmatch()Erfordert, dass die Zeichenkette "hello" vollständig mit dem Muster "hello" übereinstimmt.
  • Die Übereinstimmung ist erfolgreich und gibt ein Match-Objekt zurück.

Beispiel 2: Fall einer fehlgeschlagenen vollständigen Übereinstimmung

Wenn die Zeichenkette zusätzliche Zeichen enthält, schlägt die Übereinstimmung fehl.

Beispiel

import re

text = "hello world"

# Versuche, "hello" vollständig abzugleichen
result = re.fullmatch(r'hello', text)

if result:
    print("Übereinstimmung erfolgreich:", result.group())
else:
    print("Übereinstimmung fehlgeschlagen: Zeichenkette ist nicht exakt gleich 'hello'")

Erwartete Ausgabe:

匹配失败: 字符串不是完全等于 'hello'

Code-Erklärung:

  • Die Zeichenkette "hello world" enthält mehr Zeichen, daher kann sie nicht vollständig mit "hello" übereinstimmen.
  • In diesem Fall,fullmatchzurückgibtNone。

Beispiel 3: Verwendung regulärer Ausdrucksmuster

fullmatchUnterstützt die vollständige Syntax regulärer Ausdrücke.

Beispiel

import re

# Ziffern vollständig abgleichen
text = "12345"

result = re.fullmatch(r'\d+', text)

if result:
    print("Ziffern-Übereinstimmung:", result.group())

# Buchstaben vollständig abgleichen
text2 = "abc"

result2 = re.fullmatch(r'[a-z]+', text2)

if result2:
    print("Buchstabenübereinstimmung:", result2.group())

Erwartete Ausgabe:

数字匹配: 12345
字母匹配: abc

Beispiel 4: Validierung fester Formate

fullmatchWird häufig verwendet, um zu überprüfen, ob eine Eingabe einem bestimmten Format entspricht.

Beispiel

import re

# Telefonnummernformat überprüfen
phone = "138-1234-5678"

result = re.fullmatch(r'\d{3}-\d{4}-\d{4}', phone)

if result:
    print(f"Das Format der Telefonnummer {phone} ist korrekt")
else:
    print(f"Das Format der Telefonnummer {phone} ist nicht korrekt")

# E-Mail-Format überprüfen
email = "[email protected]"

result2 = re.fullmatch(r'\w+@\w+\.\w+', email)

if result2:
    print(f"Das Format der E-Mail {email} ist korrekt")
else:
    print(f"Das Format der E-Mail {email} ist nicht korrekt")

Erwartete Ausgabe:

手机号 138-1234-5678 格式正确
邮箱 [email protected] 格式正确

Code-Erklärung:

  • fullmatchSehr gut geeignet für Datenvalidierungsszenarien.
  • Nur wenn die Zeichenkette vollständig dem Format entspricht, ist der Match erfolgreich.

Beispiel 5: Vergleich von match und fullmatch

Beispiel

import re

text = "hello world"

# match stimmt nur vom Anfang an überein
match_result = re.match(r'hello', text)

# fullmatch erfordert eine vollständige Übereinstimmung
fullmatch_result = re.fullmatch(r'hello', text)

print("match-Ergebnis:", match_result.group() if match_result else None)
print("fullmatch-Ergebnis:", fullmatch_result.group() if fullmatch_result else None)

print("-" * 20)

# Versuche, die gesamte Zeichenkette vollständig abzugleichen
text2 = "hello"

match_result2 = re.match(r'hello', text2)
fullmatch_result2 = re.fullmatch(r'hello', text2)

print("Übereinstimmungsergebnis:", match_result2.group() if match_result2 else None)
print("Fullmatch-Ergebnis:", fullmatch_result2.group() if fullmatch_result2 else None)

Erwartete Ausgabe:

match 结果: hello
fullmatch 结果: None
--------------------
match 结果: hello
fullmatch 结果: hello

Code-Erklärung:

  • re.match()Es muss nur am Anfang der Zeichenkette übereinstimmen; eine vollständige Übereinstimmung ist nicht erforderlich.
  • re.fullmatch()Erfordert, dass die gesamte Zeichenkette von Anfang bis Ende vollständig übereinstimmt.

Beispiel 6: Verwenden von Gruppen

Beispiel

import re

text = "2024-04-02"

# Gruppen verwenden, um ein Datum vollständig abzugleichen
result = re.fullmatch(r'(\d{4})-(\d{2})-(\d{2})', text)

if result:
    print("Vollständige Übereinstimmung:", result.group())
    print("Jahr:", result.group(1))
    print("Monat:", result.group(2))
    print("Tag:", result.group(3))

Erwartete Ausgabe:

完整匹配: 2024-04-02
年: 2024
月: 04
日: 02

Python re 模块Python-re-Modul

Andere Erweiterungen