Usar re con un argumento de lista de variables
Frecuentes
Visto 110 veces
3
Quería hacer una expresión regular que analizara las expresiones de fecha que aparecen periódicamente en un documento que estoy mirando, en particular, la fecha a veces se escribe como:
FEBRUARY 8
FEBRUARY. 8
FEBRUARY 8.
FEBRUARY 8
Entonces mi expresión regular debería verse como
re.compile(MonthList+'.?.?.?.?[0-9][0-9]?')
Excepto que esto no funciona. ¿Cómo puedo escribir una lista en mi expresión regular de modo que actúe como (JANUARY|FEBRUARY|MARCH|...etc)
en lugar de escribir eso o hacer un bucle?
1 Respuestas
3
Puede usar la manipulación ordinaria de cadenas para construir la expresión regular. Solo tenga en cuenta que las cadenas en su lista también se interpretarán como expresiones regulares, a menos que use re.escape
para desinfectarlos:
r = re.compile('({}).{0,3}\d{1,2}'.format(
'|'.join(map(re.escape, month_list))))
Respondido el 12 de junio de 12 a las 14:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python regex or haz tu propia pregunta.