Método Python re.fullmatch()
re.fullmatch()es Pythonreen el módulo que se utiliza parala coincidencia completafunción de toda la cadena.
yre.match()A diferencia,re.fullmatch()requiere que toda la cadena coincida completamente con la expresión regular, no solo desde el principio.
Definición de la palabra: full matchsignifica coincidencia completa.
Sintaxis básica y parámetros
re.fullmatch()es una función a nivel de módulo, que se llama directamente a través derela llamada al módulo.
Formato de sintaxis
re.fullmatch(pattern, string, flags=0)
Descripción de parámetros
- pattern:
- Tipo: cadena (str)
- Descripción: el patrón de expresión regular que se debe coincidir.
- string:
- Tipo: cadena (str)
- Descripción: la cadena que se va a comparar.
- flags:
- Tipo: entero (int, opcional)
- Descripción: banderas de la expresión regular.
Descripción de la función
- Valor de retorno: si toda la cadena coincide, devuelve
matchobjeto; de lo contrario, devuelveNone。 - Característica: requiere que la cadena coincida completamente de principio a fin, sin permitir caracteres sobrantes.
Ejemplo
Vamos a dominar mediante una serie de ejemplosre.fullmatch()el uso de.
Ejemplo 1: Uso básico - Coincidencia completa
Ejemplo
# Coincidencia completa de toda la cadena
text = "hello"
result = re.fullmatch(r'hello', text)
if result:
print("Coincidencia completa exitosa:", result.group())
Resultado esperado:
完整匹配成功: hello
Análisis del código:
re.fullmatch()Requiere que la cadena "hello" coincida completamente con el patrón "hello".- La coincidencia es exitosa, devuelve un objeto match.
Ejemplo 2: Caso en el que falla la coincidencia completa
Si la cadena tiene caracteres sobrantes, la coincidencia falla.
Ejemplo
text = "hello world"
# Intenta coincidir completamente con "hello"
result = re.fullmatch(r'hello', text)
if result:
print("Coincidencia exitosa:", result.group())
else:
print("Coincidencia fallida: la cadena no es exactamente igual a 'hello'")
Resultado esperado:
匹配失败: 字符串不是完全等于 'hello'
Análisis del código:
- La cadena "hello world" contiene más caracteres y no puede coincidir completamente con "hello".
- En este caso,
fullmatchdevuelveNone。
Ejemplo 3: Uso de patrones de expresiones regulares
fullmatchSoporta la sintaxis completa de expresiones regulares.
Ejemplo
# Coincidencia completa de dígitos
text = "12345"
result = re.fullmatch(r'\d+', text)
if result:
print("Coincidencia de dígitos:", result.group())
# Coincidencia completa de letras
text2 = "abc"
result2 = re.fullmatch(r'[a-z]+', text2)
if result2:
print("Coincidencia de letras:", result2.group())
Resultado esperado:
数字匹配: 12345 字母匹配: abc
Ejemplo 4: Validación de un formato fijo
fullmatchSe usa a menudo para validar si la entrada cumple un formato específico.
Ejemplo
# Validar formato de número de teléfono
phone = "138-1234-5678"
result = re.fullmatch(r'\d{3}-\d{4}-\d{4}', phone)
if result:
print(f"El número de teléfono {phone} tiene el formato correcto")
else:
print(f"El número de teléfono {phone} tiene el formato incorrecto")
# Validar formato de correo electrónico
email = "[email protected]"
result2 = re.fullmatch(r'\w+@\w+\.\w+', email)
if result2:
print(f"El correo {email} tiene el formato correcto")
else:
print(f"El correo {email} tiene el formato incorrecto")
Resultado esperado:
手机号 138-1234-5678 格式正确 邮箱 [email protected] 格式正确
Análisis del código:
fullmatchEs muy adecuado para escenarios de validación de datos.- Solo cuando la cadena cumple completamente el formato, la coincidencia tiene éxito.
Ejemplo 5: Comparación entre match y fullmatch
Ejemplo
text = "hello world"
# match solo coincide desde el principio
match_result = re.match(r'hello', text)
# fullmatch requiere una coincidencia completa
fullmatch_result = re.fullmatch(r'hello', text)
print("Resultado de match:", match_result.group() if match_result else None)
print("Resultado de fullmatch:", fullmatch_result.group() if fullmatch_result else None)
print("-" * 20)
# Intenta coincidir completamente con toda la cadena
text2 = "hello"
match_result2 = re.match(r'hello', text2)
fullmatch_result2 = re.fullmatch(r'hello', text2)
print("Resultado de match:", match_result2.group() if match_result2 else None)
print("Resultado de fullmatch:", fullmatch_result2.group() if fullmatch_result2 else None)
Resultado esperado:
match 结果: hello fullmatch 结果: None -------------------- match 结果: hello fullmatch 结果: hello
Análisis del código:
re.match()Coincide desde el principio de la cadena, no requiere coincidencia completa.re.fullmatch()Requiere que toda la cadena coincida completamente de principio a fin.
Ejemplo 6: Uso de grupos
Ejemplo
text = "2024-04-02"
# Usar grupos para coincidir completamente una fecha
result = re.fullmatch(r'(\d{4})-(\d{2})-(\d{2})', text)
if result:
print("Coincidencia completa:", result.group())
print("Año:", result.group(1))
print("Mes:", result.group(2))
print("Día:", result.group(3))
Resultado esperado:
完整匹配: 2024-04-02 年: 2024 月: 04 日: 02
Otras extensiones
Módulo re de Python