Python crawler learning (6) Introducción a la biblioteca de expresiones regulares Re

(6) Introducción a la biblioteca Re (expresión regular)

(1) Definición básica

  • Expresión regular, regex, RE
  • Las expresiones regulares son expresiones que se usan para expresar de manera concisa un conjunto de cadenas
  • Las expresiones regulares son una herramienta para expresar las ideas de "concisión" y "características" para cadenas
  • Las expresiones regulares se pueden usar para determinar el atributo de una cadena

(2) función

  • Característica del tipo de texto (virus, intrusión, etc.)
  • Encuentra o reemplaza un conjunto de cadenas al mismo tiempo
  • Hacer coincidir todo o parte de la cadena (aplicación más importante)

(3) Gramática

  • Las expresiones regulares consisten en caracteres y operadores.

1. Operadores de uso común

Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí

2. Ejemplos de gramática

Inserte la descripción de la imagen aquí

3. Ejemplos clásicos

Inserte la descripción de la imagen aquí

4. Dirección IP coincidente de expresión regular
Inserte la descripción de la imagen aquí

(4) Re biblioteca

1.Re introducción a la biblioteca

  • Re library es la biblioteca estándar de Python, utilizada principalmente para la coincidencia de cadenas
  • importar re

2. Tipo de representación

  • tipo de cadena sin formato (tipo de cadena nativa)
  • tipo de cadena (más tedioso)
  • Recomendación: cuando las expresiones regulares contienen caracteres de escape, use una cadena sin formato
# r'text'格式
r'[1-9]\d{5}'
r'\d{3}-\d{8}|\d{4}-\d{7}

# string格式
r'[1-9]\\d{5}'
r'\\d{3}-\\d{8}|\\d{4}-\\d{7}

3. Funciones principales de la biblioteca Re

Inserte la descripción de la imagen aquí

import re
#pattern : 正则表达式的字符串或原生字符串表达 
#repl    : 替换匹配字符串的字符串
#string  : 待匹配字符串
#count   : 匹配的最大替换次数
#maxsplit: 最大分割数,剩余部分作为最后一个元素输出
#flags	  : 正则表达式使用时的控制标记  ///下附常用标记说明

re.search(pattern, string, flags=0)

re.match(pattern, string, flags=0)

re.findall(pattern, string, flags=0)

re.split(pattern, string, maxsplit=0, flags=0)

re.finditer(pattern, string, flags=0)

re.sub(pattern, repl, string, count=0, flags=0)

Inserte la descripción de la imagen aquí

#Re库的等价用法

#函数式用法:一次性操作
rst = re.search(r'[1-9]\d{5}', 'BIT 100081')
#面向对象用法:编译后的多次操作
regex = re.compile(r'[1-9]\d{5}')
rst = regex.search('BIT 100081')

#将正则表达式的字符串形式编译成正则表达式对象
regex = re.compile(pattern, flags=0)

Inserte la descripción de la imagen aquí

4. Volver a buscar el objeto Match

  • El objeto Match es el resultado de una coincidencia y contiene mucha información coincidente.

1> Hacer coincidir las propiedades del objeto

Inserte la descripción de la imagen aquí

2> Método de objeto de coincidencia

Inserte la descripción de la imagen aquí

3> Instancia de objeto de coincidencia

Inserte la descripción de la imagen aquí

5. Emparejamiento codicioso y emparejamiento mínimo de la biblioteca Re

Inserte la descripción de la imagen aquí

  • Haga coincidir varios elementos de diferentes longitudes al mismo tiempo, ¿cuál se devuelve?

1. Emparejamiento codicioso

  • La biblioteca Re utiliza la coincidencia codiciosa de forma predeterminada, lo que significa que la salida coincide con la subcadena más larga

2. Partido mínimo

  • ¿Cómo generar la subcadena más corta?
  • Siempre que la salida de longitud pueda ser diferente, se puede cambiar a la coincidencia más pequeña agregando? Después del operadorInserte la descripción de la imagen aquí
10 artículos originales publicados · Me gusta1 · Visitas 134

Supongo que te gusta

Origin blog.csdn.net/qq_39419113/article/details/105681277
Recomendado
Clasificación