Entrada 16 de Python: expresiones regulares:

Expresión regular:

Una herramienta que puede simplificar mucho las tareas de procesamiento complejo en cadenas

La expresión regular consiste en describir las reglas de varias cadenas a través de varios símbolos regulares.

En diferentes lenguajes, la sintaxis regular es la misma, pero la forma de expresión es diferente, python'regular 'en js / regular /

Símbolos regulares (la unidad básica de las expresiones regulares):
  • Símbolo a juego

    • Caracteres ordinarios: los caracteres ordinarios en la expresión regular representan el símbolo en sí
    • .-Coincide con un carácter arbitrario (un punto significa que cualquier carácter puede coincidir aquí)
    • \ d-coincide con un número arbitrario (para distinguirlo de los caracteres de escape, generalmente se agrega una r a la cadena (r, para evitar que los caracteres de escape se escapen))
    • \ D-coincide con un carácter que no es un dígito
    • \ s-coincide con un carácter en blanco caracteres en blanco: espacio, \ n (salto de línea), \ t (tabulador)
    • \ S-coincide con un carácter que no es un espacio en blanco
    • \ w (entender) -coincide con una letra, número o guión bajo (los caracteres fuera de la tabla de códigos ASCII pueden coincidir)
  • Juego de caracteres: coincide con cualquier carácter del juego de caracteres

    • Nota: A [] solo puede coincidir con un carácter
    • Nota: En [], puede poner'- 'en el rango entre dos caracteres. El valor de codificación del carácter anterior debe ser menor que el valor de codificación del siguiente carácter (hay un significado especial entre dos caracteres, si es el primer o el último carácter Significa'- 'sí mismo)
    • [^ Conjunto de caracteres] -Es significativo hacer coincidir cualquier carácter que no esté en el conjunto de caracteres y ponerlo delante de la cadena y ponerlo en la parte posterior o en el medio, indicando el símbolo en sí
  • Símbolo de clase de detección (símbolo de clase de detección, un símbolo corresponde a un carácter, el símbolo de clase de detección no puede afectar la longitud de la cadena, pero la ubicación del símbolo de detección cumple con los requisitos después de que la coincidencia sea exitosa)

    • \ b-Verifique si es un límite de palabra (\ b es un carácter de escape con función de retroceso, cuando se usa para propósitos regulares, agregue r antes de la cadena)
    • ^ -Detectar el comienzo de una cadena
    • $ -Comprueba si es el final de la cadena
  • Símbolo de número

    • ) + -Una o más veces
    • ) * - Coincide 0 o más veces (cualquier número de veces)
    • ? -Match 0 veces o una vez
    • {}
      • {n} -n coincide con n veces
        {m, n} -coincide con m an veces
        {m,} - coincide con al menos m veces
        {, n} -coincide con la mayoría de n veces

Codiciosos y no codiciosos: cuando el número de coincidencias es incierto, hay dos tipos de coincidencias, codiciosos y no codiciosos, y ambos son codiciosos por defecto.

Codicia: -Cuando el número de coincidencias es incierto, el valor predeterminado es codicioso (+, *,?, {M, n}, {m,}, {, n})
Codicia: Con la premisa de que la coincidencia puede ser exitosa, tome la mayor cantidad de coincidencias El resultado de
no codicioso: -add después del número de coincidencias inciertas? (+ ?, *?, ??, {m, n} ?, {m,} ?, {, n}?)

Agrupación y ramificación
  • ()-Grupo

    Agrupar es encerrar una cierta parte de la expresión regular con () como un todo, y luego realizar la operación general

    1) Operación general
    '(\ d {2} [az] {3}) +'
    2) Repetición general
    \ n-repite el contenido que coincide con el n-ésimo grupo anterior

  • | -Rama

    Regular 1 | Regular 2

  • Símbolo de escape

    Agregue \ delante del símbolo con un significado especial en las reglas regulares para hacer desaparecer la función de este símbolo especial, lo que significa que el símbolo en sí

    A excepción de los símbolos con un significado especial en [] (- y ^), otros símbolos en [] indican el símbolo en sí

Suplemento 1: Ignorar caso

Método de escritura uno: '(? I) expresión regular'
método de escritura dos: asigne las banderas de la función en el módulo re a I

print (fullmatch ('(? i) a [az]', 'Al'))
print (fullmatch ('a [az]', 'Al', banderas = I))

Supongo que te gusta

Origin blog.csdn.net/SaharaLater/article/details/111871608
Recomendado
Clasificación