Método Python re.findall()
re.findall()es Pythonreutilizado en el módulo paraencontrar todas las coincidenciasla función.
Escanea toda la cadena y devuelve todas las subcadenas que coinciden con la expresión regular, en forma de lista.
Significado de la palabra: find allsignifica encontrar todos.
Sintaxis básica y parámetros
re.findall()es una función a nivel de módulo.
Formato de sintaxis
re.findall(pattern, string, flags=0)
Descripción de parámetros
- pattern: patrón de expresión regular
- string: la cadena a buscar
- flags: opcional, banderas de expresión regular
Descripción de la función
- Valor de retorno: Devuelve una lista con todas las cadenas coincidentes. Si no hay coincidencias, devuelve una lista vacía.
- Características: Devuelve todas las coincidencias, no solo la primera.
Ejemplos
Ejemplo 1: Encontrar todos los números
Ejemplo
import re
text = "Tengo 3 manzanas, 5 naranjas, 8 plátanos"
# Encontrar todos los números
result = re.findall(r'\d+', text)
print("Números encontrados:", result)
text = "Tengo 3 manzanas, 5 naranjas, 8 plátanos"
# Encontrar todos los números
result = re.findall(r'\d+', text)
print("Números encontrados:", result)
Resultado esperado:
找到的数字: ['3', '5', '8']
Ejemplo 2: Encontrar todas las palabras
Ejemplo
import re
text = "Python is powerful, Python is easy"
# Encontrar todos los "Python"
result = re.findall(r'Python', text)
print("Python encontrados:", result)
text = "Python is powerful, Python is easy"
# Encontrar todos los "Python"
result = re.findall(r'Python', text)
print("Python encontrados:", result)
Resultado esperado:
找到的Python: ['Python', 'Python']
Ejemplo 3: Usar grupos para extraer múltiples contenidos
Ejemplo
import re
text = "Correo: [email protected], Correo: [email protected]"
# Usar grupos para extraer nombre de usuario y dominio a la vez
result = re.findall(r'(\w+)@(\w+\.\w+)', text)
print("Correos encontrados:", result)
text = "Correo: [email protected], Correo: [email protected]"
# Usar grupos para extraer nombre de usuario y dominio a la vez
result = re.findall(r'(\w+)@(\w+\.\w+)', text)
print("Correos encontrados:", result)
Resultado esperado:
找到的邮箱: [('test', 'example.com'), ('admin', 'test.org')]
Ejemplo 4: Encontrar todos los números de teléfono móvil
Ejemplo
import re
text = "Zhang San: 138-1234-5678, Li Si: 139-9876-5432, Wang Wu: 137-5555-8888"
# Encontrar todos los números de teléfono móvil
result = re.findall(r'\d{3}-\d{4}-\d{4}', text)
print("Todos los números de teléfono móvil:", result)
text = "Zhang San: 138-1234-5678, Li Si: 139-9876-5432, Wang Wu: 137-5555-8888"
# Encontrar todos los números de teléfono móvil
result = re.findall(r'\d{3}-\d{4}-\d{4}', text)
print("Todos los números de teléfono móvil:", result)
Resultado esperado:
所有手机号: ['138-1234-5678', '139-9876-5432', '137-5555-8888']
Otras extensiones
Módulo re de Python