Domanda

Ho un modello di mako che sembra qualcosa di simile:

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

In questo modo se mi passa la variabile personale come vera, dovrebbero apparire tali osservazioni. Sto cercando di provare questo utilizzando un'espressione regolare che assomiglia a questo:

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

Ho verificato che i commenti vengono visualizzati in output HTML, ma l'espressione regolare non corrisponde. Ho anche provato a mettere i commenti (<!-- begin staff --> e <!-- end staff -->) attraverso re.escape, ma ancora senza fortuna. Che cosa sto facendo di sbagliato?

O c'è un modo migliore per eseguire questo test?

È stato utile?

Soluzione

Per impostazione predefinita . non corrisponde a capo - è necessario aggiungere l'opzione re.DOTALL

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

Se si dispone di più di una sezione personale, si potrebbe anche voler fare la partita ungreedy:

re.search('<!-- begin staff -->.*?<!-- end staff -->', text, re.DOTALL)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top