Operadores de expresiones regulares de uso común
Re biblioteca
Las expresiones regulares (nombres en inglés: expresión regular, regex, RE) son expresiones que se utilizan para expresar de forma concisa un conjunto de cadenas de caracteres. La aplicación principal es la coincidencia de cadenas.
Introducción al modo:
1) .re.I (re.IGNORECASE): Ignorar mayúsculas y minúsculas
2) .re.M (MULTILINE): modo multilínea, cambia el comportamiento de '^' y '$'
3) .re.S (DOTALL): Haga clic en cualquier modo de coincidencia para cambiar el comportamiento de '.'
4) .re.L (LOCALE): hace que la clase de caracteres predeterminada \ w \ W \ b \ B \ s \ S dependa de la configuración regional actual
5) .re.U (UNICODE): hace que la clase de carácter predeterminada \ w \ W \ b \ B \ s \ S \ d \ D dependa del atributo de carácter definido por unicode
6) .re.X (VERBOSO): modo detallado. En este modo, la expresión regular puede tener varias líneas, ignorar los espacios en blanco y agregar comentarios.
Introducción a la función:
1 、 re.search (patrón, cadena, banderas = 0)
Busque la primera posición de una expresión regular coincidente en una cadena y devuelva un objeto coincidente.
patrón: representación de cadena o cadena nativa de expresión regular
cadena: la cadena que se emparejará
banderas: banderas de control cuando se utilizan expresiones regulares, qué modo
El primero:
# -*- coding = utf-8 -*-
import re
# 创建模式对象
pat = re.compile("aa") # 此处的aa是正则表达式
reh = pat.search("aaa") # search后的字符串是被校验的字符串
print(reh)
# <re.Match object; span=(0, 2), match='aa'>
El segundo tipo:
pat = re.search("aa","aaa")
print(pat)
# <re.Match object; span=(0, 2), match='aa'>
2 、 re.match (patrón, cuerda, banderas = 0)
Haga coincidir la expresión regular desde el principio de una cadena y devuelva el objeto de coincidencia.
patrón: representación de cadena o cadena nativa de expresión regular
cadena: la cadena que se emparejará
banderas: banderas de control cuando se usan expresiones regulares
El primero:
pat = re.match("a","aaaa")
print(pat)
# <re.Match object; span=(0, 1), match='a'>
El segundo tipo:
pat = re.compile("a")
p = pat.match("aaaa")
print(p)
# <re.Match object; span=(0, 1), match='a'>
3 、 re.findall (patrón, cuerda, banderas = 0)
Cadena de búsqueda, devuelve todas las subcadenas coincidentes en el tipo de lista.
patrón: representación de cadena o cadena nativa de expresión regular
cadena: la cadena que se emparejará
banderas: banderas de control cuando se usan expresiones regulares
El primero:
pat = re.findall("a","aassaaddd");
print(pat)
# ['a', 'a', 'a', 'a']
El segundo tipo:
# 创建模式对象
pat = re.compile("a") # 此处的aa是正则表达式
re = pat.findall("aassaaddd") # search后的字符串是被校验的字符串
print(re)
4 、 re.split (patrón, cadena, maxsplit = 0, banderas = 0)
Cadena de búsqueda, devuelve todas las subcadenas coincidentes en el tipo de lista.
patrón: representación de cadena o cadena nativa de expresión regular
cadena: la cadena que se emparejará
maxsplit: el número máximo de divisiones, la parte restante se emite como el último elemento
banderas: banderas de control cuando se usan expresiones regulares
El primero:
pat = re.split("a","hadhks",2)
print(pat)
# ['h', 'dhks']
5 、 re.finditer (patrón, cadena, banderas = 0)
La cadena de búsqueda devuelve un tipo de iteración del resultado coincidente y cada elemento de iteración es un objeto coincidente.
patrón: representación de cadena o cadena nativa de expresión regular
cadena: la cadena que se emparejará
banderas: banderas de control cuando se usan expresiones regulares
El primero:
pat = re.finditer("a","aabbss")
for i in pat:
print(i)
# <re.Match object; span=(0, 1), match='a'>
# <re.Match object; span=(1, 2), match='a'>
6 、 re.sub (patrón, respuesta, cadena, recuento = 0, banderas = 0)
Reemplace todas las subcadenas que coincidan con la expresión regular en una cadena y devuelva la cadena reemplazada.
patrón: representación de cadena o cadena nativa de expresión regular
repl: reemplace la cadena que coincide con la cadena
cadena: la cadena que se emparejará
recuento: el número máximo de reemplazos coincidentes
banderas: banderas de control cuando se usan expresiones regulares
El primero:
pat = re.sub("a","b","aaaadddvvv",5)
print(pat)
# bbbbdddvvv
Otro uso equivalente de la biblioteca Re:
Uso funcional: operación única
rst = re.search(r'[1-9]\d{5}', 'BIT 100081')
Uso orientado a objetos: múltiples operaciones después de la compilación
pat = re.compile(r'[1-9]\d{5}')
rst = pat.search('BIT 100081')
regex = re.comile(pattern,flags=0)
Compile la forma de cadena de la expresión regular en un objeto de expresión regular
patrón: representación de cadena o cadena nativa de expresión regular
banderas: banderas de control cuando se usan expresiones regulares
Regex es la expresión regular: regex = re.compile (r '[1-9] \ d {5}')
Agregue r antes de la cadena coincidente para evitar caracteres de escape
s = r"'ssssss\'"
print(s)
# 'ssssss\'