Re bibliotecas, y expresiones regulares - Python

Estudio personal notas
sitio web de videos: https://www.bilibili.com/video/av9784617?p=39

① expresiones regulares 1

Las expresiones regulares
Las imágenes de: Parque un blog Blogger ...

② Re biblioteca

A. Expresión regular indica el tipo de


  • Tipo de cadena de texto (cadena de tipo nativo)

    re biblioteca de expresión utilizando el tipo de cadena de texto en una expresión regular, expresado como: r'text'
    Por ejemplo: r'[1-9]\d{5}
    cadena de texto es una cadena que no contiene fuga

  • tipo de cadena

    Tenemos que utilizar los caracteres de escape especiales
    , tales como:'[1-9]\\d{5}'
    '\\d{3}-\\d{8}|\\d{4}-\\d{7}'

II. La función principal de la función de la biblioteca Re


función explicación
investigación() En la búsqueda de una cadena coincidente en la primera posición de la expresión regular, vuelve objeto partido
revancha() La expresión regular desde la posición de inicio de una cadena de caracteres, vuelve objeto coinciden
re.findall () La cadena de búsqueda, devolver un tipo de lista puede coincidir con subseries de todos
re.split () La cadena se divide de acuerdo con un resultado regular de la expresión coincidente, devuelve una lista de Tipo
re.finditer () Cadena de búsqueda, devuelve un resultado coincidente del tipo iterativo, cada elemento es una iteración objeto partido
re.sub () Cadena reemplaza toda subcadena coincide con la expresión regular en una cadena, regresa después de la sustitución

2,1 re.search (patrón, secuencia, flags = 0)


  • En la búsqueda de la cadena coincide con la primera expresión regular de una posición, devuelve el objeto partido.
    • patrón: una cadena o una representación regular cadena de expresión de los nativos
    • cadena: cadena a coincidir
    • marca de control usando expresiones regulares: banderas
marcadores comunes explicación
re.I re.IGNORECASE Ignorar mayúsculas y minúsculas expresión regular, [AZ] capaz de igualar los caracteres en minúscula
RE.M re.MULTILINE Cada fila de la expresión regular ^ operador puede darse como una cadena de caracteres que coincida con el inicio
re.S re.DOTALL Expresión regular. operador capaz de igualar todos los caracteres, por defecto coincide con todos los caracteres excepto una línea nueva

partido, findall, Los parámetros de la función de búsqueda es los mismos parámetros de referencia para buscar finditer

2,2 re.split (patrón, secuencia, maxsplit = 0, flags = 0)


  • La cadena de acuerdo a una expresión regular coincide con split, devuelve una lista de tipos.
    • patrón: una cadena o una representación regular cadena de expresión de los nativos
    • cadena: cadena a coincidir
    • maxsplit: El número máximo de división, la parte restante de la salida como el último elemento
    • marca de control usando expresiones regulares: banderas

2.3 re.sub (patrón, repl, cuerda, count = 0, banderas = 0)


  • Cadena reemplaza toda subcadena coincide con la expresión regular en una cadena, regresa después de la sustitución
    • patrón: una cadena o una representación regular cadena de expresión de los nativos
    • rEPL: partidos clave en la cadena de cadena
    • cadena: cadena a coincidir
    • Vuelva a colocar el mayor número de coincidencias: contar
    • marca de control usando expresiones regulares: banderas

2.4 Ejemplo


import re

# re.search: 在一个字符串中搜索匹配正则表达式的第一个位置
match = re.search(r'[1-9]\d{5}', 'BIT 100032 132103 12043')
if match:
    print(match.group(0))
# 结果: 100032

print(match)
# 结果: <re.Match object; span=(4, 10), match='100032'>

# re.match: 从一个字符串的开始位置起匹配正则表达式
# 开始与正则表达式不匹配的话, 则为None
match = re.match(r'[1-9]\d{5}', '123042BIT 100032 132103 12043')
if match:
    print(match.group(0))
# 结果: 123042

# re.findall: 搜索字符串, 以列表类型返回全不能匹配的子串
match = re.findall(r'[1-9]\d{5}', '123042BIT 100032 SUV132103 12043')
if match:
    print(match)
# 结果: ['123042', '100032', '132103']

# re.split: 将一个字符串按照正则表达式匹配结果进行分割, 返回列表类型.
match = re.split(r'[1-9]\d{5}', '123042BIT 100032 SUV132103 120413')
if match:
    print(match)
# 结果:['', 'BIT ', ' SUV', ' ', '']
# 结果分析: 123042符合,则字符串开头开始分割即'',
#     然后就是'BIT ', 100032符合,继续分割, ' SUV'
#   132103符合,分割' ', 120413符合,后面一个''(空字符串)

# maxsplit=1, 只匹配1个, 后面的字符串作为一个元素输出
match = re.split(r'[1-9]\d{5}', '123042BIT 100032 SUV132103 120413', maxsplit=1)
if match:
    print(match)
# 结果: ['', 'BIT 100032 SUV132103 120413']

print(re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT102435 TSU104394'))
# 结果: BIT:zipcode TSU:zipcode

2,5 re.compile (patrón, flags = 0)


  • Compila una cadena en un objeto de expresión regular expresión regular
    • patrón: una cadena o una representación regular cadena de expresión de los nativos
    • marca de control usando expresiones regulares: banderas

Uso funcional: la operación por una sola vez:
rst = re.search(r'[1-9]\d{5}', 'BIS 102384')

equivalente a

BUILD múltiples operaciones: el uso orientados a objetos:
pat = re.compile(r'[1-9]\d{5}')
rst = pat.search('BiS 102384')

Aquí Insertar imagen Descripción

Biblioteca de objetos de tres partidos. Re


3.1 atributos de los objetos de partido


propiedad explicación
.cuerda Texto que se ajustará
.re la coincidencia de patrones utiliza cuando el objeto (expresiones regulares)
.pos búsqueda de expresiones regulares posición del texto de partida
.endpos búsqueda de expresiones regulares posición final del texto

Métodos 3.2 objeto Match


método explicación
.Group (0) se obtiene cadena coincidente
.comienzo() cadena que coincide con la posición de la cadena original a partir
.final() posición final cadena coincidente de la cadena original
.lapso() Retorno (.start (), .end ())

4. Partido codiciosos


Re predeterminado partido codicioso biblioteca, es decir, la salida de la subcadena coincidente más larga

match = re.search(r'PY.*N', 'PYKSJDFNN')
match.group(0)
# 结果: PYKSJDFNN

Cómo convertirse en un partido de mínimos


operadores explicación
*? carácter anterior 0 veces o un número ilimitado de extensiones, el partido mínimo
+? 1 carácter anterior o la extensión ilimitada, el partido mínimo
?? Carácter anterior extensión de 0 o 1, el juego mínimo
{Minnesota}? Un frente carácter extensión m a n veces (incluyendo n), el juego mínimo

[Extensiones]
Python reptil lograr precios de los productos de Taobao arrastrándose - Solicitud + re

Ver la implementación específica: [aprendizaje] precios de los productos del reptil del pitón de siete Taobao el rastreo (rastreo éxito)

sintaxis rizo Convertir a Python, Ansible URI, Node.js, R, PHP, Strest, Go, Dardo, JSON, Elixir, Rust


  1. - Expresiones regulares - Sintaxis - novato tutorial
    - prueba de expresión regular en línea
    - Expresiones Collection - Open Source en China
    - probablemente las mejores notas regulares expresión tutorial que ... ↩︎

Ha publicado 190 artículos originales · alabanza 153 won · vistas 90000 +

Supongo que te gusta

Origin blog.csdn.net/qq_36852780/article/details/104370260
Recomendado
Clasificación