Estudio personal notas
sitio web de videos: https://www.bilibili.com/video/av9784617?p=39
① expresiones regulares 1
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')
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)