Regex: search y findall en Python
Las funciones centrales de re para encontrar patrones de texto.
import re
registro = "user=ada action=login ip=10.0.0.7"
encontrado = re.search(r"user=(\w+)", registro)
usuario = encontrado.group(1)
numeros = re.findall(r"\d+", registro)
inicia_ok = re.match(r"user=", registro) is not None
palabras = re.split(r"\s+", registro)
tiene_ip = bool(re.search(r"ip=\d+\.\d+\.\d+\.\d+", registro))
Cómo funciona
re.searchencuentra la primera coincidencia donde sea.group(1)extrae la parte capturada entre paréntesis.findalldevuelve cada coincidencia;splitcorta en una.
Palabras clave y builtins usados aquí
bool
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 331
- Tokens
- 104
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 62 segundos.
Paso 1 de 5 en Expresiones regulares; paso 1 de 41 en Herramientas de dominio.