Remódulo de Python
El módulo re es el módulo exclusivo de Python para hacer coincidir cadenas. Muchas funciones proporcionadas en este módulo se basan en expresiones regulares.
Las expresiones regulares se utilizan para hacer coincidir cadenas y extraerlas. la parte de la cadena que necesitas es común a todos los idiomas.
1. Personajes
2. Conjuntos de caracteres
3. Cuantificadores
Modo codicioso: intenta siempre hacer coincidir tantos caracteres como sea posible
No codicioso es todo lo contrario y siempre intenta hacer coincidir el menor número de personajes posible.
{0,} coincide con el carácter anterior 0 o más veces, equivalente al metacarácter *
{+,} coincide con el carácter anterior 1 vez o infinitas veces, equivalente al + metacaracteres
{0,1} coincide con el carácter anterior 0 o 1 veces, lo que equivale a? Metacaracteres
Si () va seguido de metacaracteres especiales como (adc)* Entonces el carácter principal controlado por * es todo el contenido en (), ya no el carácter principal
4. Tabla de uso de agrupación especial: solo útil para objetos devueltos por funciones regulares
5 , afirmación
Se puede ver en la forma de expresión de afirmación que utiliza símbolos de agrupación, pero se agrega un signo de interrogación al principio. Este signo de interrogación significa que este es un grupo que no captura y este grupo. no tiene número. , no se puede usar para referencias anteriores y solo se puede usar como afirmaciones.
Coincide con xxx en
Mi propio entendimiento es:
p>5. Ejemplo
(1) No
^(?!.*200).*$, solo coincide con 200
^( ?!.*[200|400]).*$, solo coincide con 200 y 400
[^a-z] está invertido, no contiene letras a-z
(2 ) \u4e00 -\u9fa5 chino
(3) r"\b([\u4e00-\u9fa5]\s?[\u4e00-\u9fa5]+)\b" # Xiao Ming relaciona palabras con espacios en el medio La función de compilación
se utiliza para compilar expresiones regulares y generar un objeto de expresión regular (Patrón) para uso de las dos funciones match() y search()
match intenta que la posición inicial de la cadena coincida con un patrón. Si la posición inicial no coincide correctamente, no se devuelve ninguno.
la búsqueda escanea toda la cadena y devuelve la primera coincidencia exitosa.
La diferencia entre re.match y re.search:
Función de reemplazo de expresión regular
Reemplaza la cadena en la posición especificada que coincide correctamente y devuelve el número de sustituciones Puedes usar dos variables para aceptar cada una
(2) Cortar más de dos caracteres y ponerlos en [ ] (no se conservan separadores):
(3) Usar. ( ) para capturar grupos (Mantener delimitador):
Encuentra todas las subcadenas que coincidan con la expresión regular en la cadena y devuelve una lista. Si no se encuentra ninguna coincidencia, se devuelve una lista vacía.
Nota: la coincidencia y la búsqueda coinciden una vez, findall coincide con todo.
Uso:
Nota 1: Una vez que se realiza una coincidencia, la siguiente coincidencia comienza desde la coincidencia exitosa anterior, comenzando con el siguiente dígito. También puede entenderse como la coincidencia exitosa. cadena, no participar en la siguiente coincidencia
Nota 2: Si no se escribe ninguna regla coincidente, es decir, una regla vacía, se devolverá una lista de cadenas vacías con un dígito más que la cadena original. p>
Nota 3: Cuando la coincidencia normal coincide con un carácter vacío, si solo hay un grupo en la regla y el grupo va seguido de *, significa que el contenido del grupo puede ser 0 o más, por lo que el grupo tiene dos significados:
Uno significa hacer coincidir el contenido del grupo,
El otro significa hacer coincidir 0 contenidos del grupo (es decir, en blanco)
Intente evitar el uso de *; de lo contrario, puede coincidir con una cadena vacía
Expresión regular, el tipo de retorno es un objeto de expresión
Por ejemplo: <_sre.SRE_Match object; 6, 7), match='a'
Para devolver un objeto, necesitas usar el método normal para obtener la cadena,