<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Miseria cagnolina!<br>
Forse premettendo un carattere di inizio riga? mi pare \b?<br>
Ci devo pensare!!!<br>
<br>
<br>
<div class="moz-cite-prefix">Il 15/03/2015 08:32, Roberto Polli ha
scritto:<br>
</div>
<blockquote
cite="mid:CAP9qbHWCqyynucNit7FG1sDpBJjYK_5zzjs6mmh=ekiw2Vi=1Q@mail.gmail.com"
type="cite">
<p dir="ltr">Scusa ma questo come lo gestisci? </p>
<p dir="ltr">Print "/* Ciao"</p>
<p dir="ltr">Print " foo "</p>
<p dir="ltr">Print "*/"</p>
<p dir="ltr">Pace. <br>
R</p>
<div class="gmail_quote">Il 15/mar/2015 02:13 "germano carella"
<<a moz-do-not-send="true"
href="mailto:germano.carella@gmail.com">germano.carella@gmail.com</a>>
ha scritto:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Ciao,<br>
Grazie, ho risolto così:<br>
pattern = r"/\*([\s\S]*?)\*/"<br>
Così prende tutto il commento in un gruppo e lo posso
ignorare.<br>
Ora però mi sono imbattuto in un altro problema, ma questo è
solo didattico:<br>
ho un file con una sintassi tipo file ini di windows<br>
[opzioni generali[<br>
opzione1=valore1<br>
opzione2=valore2<br>
[opzioni secondarie]<br>
;qualche riga di commento<br>
secondaria1=3<br>
secondaria2=4<br>
<br>
Ora, il configparser fa il matching del file ini linea per
linea e costruisce un dizionario.<br>
Io vorrei fare il matching in una volta sola, con un unico
modello, utilizzando re.findall per mettere il risutato in una
lista di tuple dove:<br>
[('opzini generali','opzine1=1',opzine2=2')...]<br>
<br>
Mi sto scervellando, le ho provate davvero tutte, ma proprio
non ci riesco...<br>
<br>
In realtà tutto questo mi serve per fare il parser di una
grammatica acontestuale dove le produzioni hanno una loro
sintassi particolare, non so se qualcuno di voi le conosce.<br>
<br>
produzione ::= 'terminale' <nonterminale> |
'nonterminale> | VUOTA {codice da eseguire}<br>
<br>
Secondo voi dunque è possibile creare un modello unico per
analizzare un file .ini, tanto per cominciare?<br>
<br>
Grazie dell'aiutissimo!<br>
<br>
<br>
Il 12/03/2015 23:46, Alessandro Re ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Ciao Germano,<br>
<br>
forse non ho capito bene la domanda, ma non puoi
semplicemente<br>
specificare '\n' nel pattern da cercare?<br>
<br>
Ad esempio:<br>
<br>
import re # Ref. [1]<br>
com = '''/* inizio del commento<br>
continua su seconda riga<br>
terza riga e finisce */'''<br>
re.findall('[aeiou]\n', com)<br>
<br>
findall restituisce queste occorrenze:<br>
<br>
['o\n', 'a\n']<br>
<br>
E quindi il carattere \n fa match senza problemi... Forse
hai esigenze<br>
un po' più particolari?<br>
<br>
[1]: no, il mio cognome non fa di me un esperto di regex :)<br>
<br>
Ciauz<br>
~Ale<br>
<br>
2015-03-12 17:56 GMT+00:00 germano carella <<a
moz-do-not-send="true"
href="mailto:germano.carella@gmail.com" target="_blank">germano.carella@gmail.com</a>>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Salve a tutti,<br>
ho bisogno di fare il match di una porzine di commento che
includa anche il<br>
carattere \n.<br>
/*inizio del commento<br>
il commento continua qui.<br>
Anche qui.<br>
*/<br>
So che nelle espressioni regolari il metacarattere '.'
serve proprio a<br>
questo, ma se voglio includere anche '\n' devo usare il
flag re.DOTALL.<br>
Vorrei evitare di usarlo, anche se si complicano le cose.<br>
Secondo voi si può fare? Io ho cercato in rete, ma non
riesco a trovare<br>
niente.<br>
Qualcuno mi dà lumi?<br>
Grazie!<br>
_______________________________________________<br>
Python mailing list<br>
<a moz-do-not-send="true"
href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a moz-do-not-send="true"
href="http://lists.python.it/mailman/listinfo/python"
target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</blockquote>
_______________________________________________<br>
Python mailing list<br>
<a moz-do-not-send="true"
href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a moz-do-not-send="true"
href="http://lists.python.it/mailman/listinfo/python"
target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</blockquote>
<br>
_______________________________________________<br>
Python mailing list<br>
<a moz-do-not-send="true" href="mailto:Python@lists.python.it"
target="_blank">Python@lists.python.it</a><br>
<a moz-do-not-send="true"
href="http://lists.python.it/mailman/listinfo/python"
target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</blockquote>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Python mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python@lists.python.it">Python@lists.python.it</a>
<a class="moz-txt-link-freetext" href="http://lists.python.it/mailman/listinfo/python">http://lists.python.it/mailman/listinfo/python</a>
</pre>
</blockquote>
<br>
</body>
</html>