(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
2. Ejemplos de gramática
3. Ejemplos clásicos
4. Dirección IP coincidente de expresión regular
(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
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)
#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)
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
2> Método de objeto de coincidencia
3> Instancia de objeto de coincidencia
5. Emparejamiento codicioso y emparejamiento mínimo de la biblioteca Re
- 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 operador