Expresiones regulares de Python (II)
En la sección anterior, analizamos los caracteres básicos de las expresiones regulares de Python y cómo usarlos.
Hoy, continuaremos analizando algunas etiquetas de extensión en Python y algunas etiquetas especiales. secuencias
(? ...) Este símbolo de expansión comienza con un corchete "? ". El primer carácter después del corchete determina la sintaxis utilizada.
Después viene ? (uno o más de 'a', 'i', 'L', 'm', 's', 'u', 'x'), luego la regla de coincidencia.
Estos caracteres establecerán los siguientes indicadores en la expresión regular, eliminando la necesidad de establecer argumentos de indicador.
NOTA: a", "L" y "u" son mutuamente excluyentes ya que banderas en línea, no se pueden combinar
Versión sin captura de agrupación de corchetes, en la que las subcadenas coincidentes por el grupo no se pueden recuperar ni hacer referencia a patrones posteriores después de realizar la coincidencia
Se puede usar con | y {m}
Especifique otro nombre de combinación para el grupo
Cada nombre de combinación solo se puede definir con una expresión regular y solo se puede definir una vez
Referencia inversa a un grupo con nombre
Coincide con el nombre del grupo con nombre anterior
Información de anotación, su contenido será ignorado p>
Jaja, aún no lo haces. ¿No lo entiendes? Vale, dame una castaña.
A ver.
Jaja, ¿no lo entiendes?
p>Si lo piensas bien. , dado que hay aserciones basadas en caracteres finales, también tiene sentido tener aserciones basadas en caracteres iniciales.
Si la identificación o el nombre dado existe, intentará coincidir con el patrón sí; de lo contrario, lo hará. intente hacer coincidir sin patrón, que es opcional y se puede ignorar
¿No es esto un poco como una operación trivial if else, donde la identificación y el nombre son la identificación del grupo y el nombre del grupo especificado? /p>
Como siempre, veamos una castaña
Para ver si esta castaña es un poco confusa, analicemos la expresión regular
El resultado es una coincidencia entre < nombredeusuario@host.com> y nombre de usuario@host.com
No coincide con Pero ¿por qué el tercer resultado? arriba diferente? Porque findall permite devolver un resultado de coincidencia vacío en presencia de "...", por lo que coincidirá en ambos casos Hoy hablamos de algunas etiquetas de extensión. , que no son realmente difíciles, así que consulte algunos ejemplos más y practique un poco más Estén atentos a la siguiente sección sobre cómo utilizar las funciones del módulo re.......