Méthode re.fullmatch() de Python
re.fullmatch()est uneremodule utilisé pourfaire correspondre entièrementune fonction pour toute la chaîne.
etre.match()Contrairement à,re.fullmatch()il exige que toute la chaîne corresponde entièrement à l'expression régulière, pas seulement à partir du début.
Signification du mot: full matchsignifie correspondance complète.
Syntaxe de base et paramètres
re.fullmatch()est une fonction au niveau du module, appelée directement viarele module.
Format de syntaxe
re.fullmatch(pattern, string, flags=0)
Description du paramètre
- pattern:
- Type : chaîne (str)
- Description : Le motif d'expression régulière à faire correspondre.
- string:
- Type : chaîne (str)
- Description : La chaîne à faire correspondre.
- indicateurs:
- Type : entier (int, facultatif)
- Description : Options d'expression régulière.
Description de la fonction
- Valeur de retour: Si toute la chaîne correspond, renvoie
matchobjet ; sinon renvoieNone。 - Fonctionnalité: nécessite que la chaîne corresponde complètement du début à la fin, aucun caractère supplémentaire autorisé.
Exemples
Maîtrisons à travers une série d'exemplesre.fullmatch()l'utilisation de.
Exemple 1 : Utilisation de base - Correspondance complète
Exemple
# Faire correspondre entièrement toute la chaîne
text = "hello"
result = re.fullmatch(r'hello', text)
if result:
print("Correspondance complète réussie :", result.group())
Sortie attendue :
完整匹配成功: hello
Explication du code :
re.fullmatch()Nécessite que la chaîne "hello" corresponde entièrement au motif "hello".- La correspondance réussit, renvoyant un objet de correspondance.
Exemple 2 : Cas d'échec de correspondance complète
Si la chaîne contient des caractères supplémentaires, la correspondance échouera.
Exemple
text = "hello world"
# Essayer de faire correspondre entièrement "hello"
result = re.fullmatch(r'hello', text)
if result:
print("Correspondance réussie :", result.group())
else:
print("Échec de la correspondance : la chaîne n'est pas exactement égale à 'hello'")
Sortie attendue :
匹配失败: 字符串不是完全等于 'hello'
Explication du code :
- La chaîne "hello world" contient plus de caractères, elle ne peut donc pas correspondre entièrement à "hello".
- Dans ce cas,
fullmatchrenvoieNone。
Exemple 3 : Utilisation de motifs d'expressions régulières
fullmatchPrend en charge la syntaxe complète des expressions régulières.
Exemple
# Correspondance complète des chiffres
text = "12345"
result = re.fullmatch(r'\d+', text)
if result:
print("Correspondance de chiffres :", result.group())
# Correspondance complète des lettres
text2 = "abc"
result2 = re.fullmatch(r'[a-z]+', text2)
if result2:
print("Correspondance de lettre :", result2.group())
Sortie attendue :
数字匹配: 12345 字母匹配: abc
Exemple 4 : Validation de formats fixes
fullmatchSouvent utilisé pour valider si une entrée est conforme à un format spécifique.
Exemple
# Valider le format du numéro de téléphone
phone = "138-1234-5678"
result = re.fullmatch(r'\d{3}-\d{4}-\d{4}', phone)
if result:
print(f"Le format du numéro de téléphone {phone} est correct")
else:
print(f"Le format du numéro de téléphone {phone} est incorrect")
# Valider le format de l'e-mail
email = "[email protected]"
result2 = re.fullmatch(r'\w+@\w+\.\w+', email)
if result2:
print(f"Le format de l'adresse e-mail {email} est correct")
else:
print(f"Le format de l'adresse e-mail {email} est incorrect")
Sortie attendue :
手机号 138-1234-5678 格式正确 邮箱 [email protected] 格式正确
Explication du code :
fullmatchTrès adapté aux scénarios de validation de données.- Ce n'est que lorsque la chaîne est entièrement conforme au format que la correspondance réussit.
Exemple 5 : Comparaison de match et fullmatch
Exemple
text = "hello world"
# match ne correspond qu'à partir du début
match_result = re.match(r'hello', text)
# fullmatch nécessite une correspondance complète
fullmatch_result = re.fullmatch(r'hello', text)
print("match result:", match_result.group() if match_result else None)
print("fullmatch result:", fullmatch_result.group() if fullmatch_result else None)
print("-" * 20)
# Essayer de faire correspondre entièrement toute la chaîne
text2 = "hello"
match_result2 = re.match(r'hello', text2)
fullmatch_result2 = re.fullmatch(r'hello', text2)
print("résultat de la correspondance :", match_result2.group() if match_result2 else None)
print("résultat de la correspondance complète :", fullmatch_result2.group() if fullmatch_result2 else None)
Sortie attendue :
match 结果: hello fullmatch 结果: None -------------------- match 结果: hello fullmatch 结果: hello
Explication du code :
re.match()Il suffit que cela corresponde à partir du début de la chaîne ; une correspondance complète n'est pas nécessaire.re.fullmatch()Exige que toute la chaîne corresponde entièrement du début à la fin.
Exemple 6 : Utilisation des groupes
Exemple
text = "2024-04-02"
# Utiliser des groupes pour faire correspondre entièrement une date
result = re.fullmatch(r'(\d{4})-(\d{2})-(\d{2})', text)
if result:
print("Correspondance complète :", result.group())
print("Year:", result.group(1))
print("Month:", result.group(2))
print("Day:", result.group(3))
Sortie attendue :
完整匹配: 2024-04-02 年: 2024 月: 04 日: 02
Autres extensions
Module re de Python