Pregunta

Tengo una plantilla mako que se ve algo como esto:

% if staff:
    <!-- begin staff -->
    ...
    <!-- end staff -->
% endif

De esa manera si paso la variable personal de Verdadera, deben aparecer los comentarios. Estoy intentando probar esto mediante el uso de una expresión regular que se parece a esto:

re.search('<!-- begin staff -->.*<!-- end staff -->', text)

He verificado que los comentarios aparecen en la salida HTML, pero la expresión regular no coincide. Incluso he intentado poner los comentarios (<!-- begin staff --> y <!-- end staff -->) a través re.escape, pero aún ninguna suerte. ¿Qué estoy haciendo mal?

O hay una mejor manera de ejecutar esta prueba?

¿Fue útil?

Solución

Por . predeterminado no coincide con saltos de línea - es necesario añadir la opción re.DOTALL

.
re.search('<!-- begin staff -->.*<!-- end staff -->', text, re.DOTALL)

Si usted tiene más de una sección del personal, también puede que quiera hacer el partido ungreedy:

re.search('<!-- begin staff -->.*?<!-- end staff -->', text, re.DOTALL)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top