tengo el siguiente texto:recuperar el texto en el interior # {}
#{king} for a ##{day}, ##{fool} for a #{lifetime}
y la siguiente (roto) de expresiones regulares:
[^#]#{[a-z]+}
que desea hacer coincidir todas las # {palabras} pero no el # # {words} (Doblar '#' actúa como escapar).
Hoy he notado que la expresión regular que tengo está ignorando la primera palabra (se niega a hacer coincidir # {king}, pero ignora correctamente ## {day} y ## {fool}).
>>> regex = re.compile("[^#]#{[a-z]+}")
>>> regex.findall(string)
[u' #{lifetime}']
¿Alguna sugerencia sobre cómo mejorar la expresión regular actual para adaptarla a mis necesidades? supongo que el problema es con [^#]
...
Su solución es mejor, me olvidé de la mirada negativa detrás. – grep
¿Funcionalidad? ¿Es este python regex específico? –
@Andrei, no, parece que no es específico de Python (según [este sitio] (http://www.regular-expressions.info/lookaround.html)), pero dicen: "sabores como JavaScript, Ruby y Tcl do no soportan mirar hacia atrás en absoluto, a pesar de que sí respaldan la búsqueda anticipada ". – MatToufoutu