tutorial - framework django python
¿Regex y el operador OR sin agrupar en Python? (2)
A ?:
Dentro de un paréntesis en una expresión regular hace que no sea de captura. Como así: (?:AB|CDE)_/d{2,3}
Consulte los documentos aquí: http://docs.python.org/3/library/re.html Alrededor de un tercio de su recorrido pasa por la sintaxis de no captura.
Aquí están los casos. Estoy buscando el siguiente patrón en un archivo de registro.
Todas las cadenas tienen la forma de AB_N
o CDE_N
. AB
y CDE
son letras fijas, seguidas de un guión bajo. N
puede ser 2 o 3 números.
Probé (AB|CDE)_/d{2,3}
pero eso devuelve un grupo. No puedo hacer /w{2,3}/d{2,3}
porque tiene que ser AB
o CDE
y no AC
o FEG
. Omitir los paréntesis también se rompe. Estoy seguro de que la solución es simple, pero soy nuevo en python y regex y no puedo resolver esto.
La sintaxis del grupo que no captura es (?:...)
. Así que (?:AB|CDE)_/d{2,3}
. Esto está documented junto con todo lo demás.