<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">Il giorno 11 settembre 2013 15:28, Daniele Zambelli <span dir="ltr"><<a href="mailto:daniele.zambelli@gmail.com" target="_blank">daniele.zambelli@gmail.com</a>></span> ha scritto:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br>Il dubbio che ho è che la faccenda non sia molto efficiente dato che ci possono essere molte definizioni. E, se non sbaglio, si avvia un meccanismo di backtracking. Per questo motivo avevo cercato di cambiare il gruppo come nello spezzone seguente:</div>



<div class="gmail_extra"><br></div><div class="gmail_extra"><div>
<p style="margin:0px">re1 = re.compile(r'''^\\begin\{description\}\n</p>
<p style="margin:0px">               \\item\[\{([^\}]+)\}\]\s\\leavevmode\n</p>
</div><p style="margin:0px">              (.*^(\n\\end\{description\}))\n\\end\{description\}$''', re.M | re.S | re.X)</p>
<p style="margin:0px"><br></p>Ma così non funziona. C'è un modo per evitare il backtracking?</div></div></blockquote><div><br></div><div>non credo che ci sia modo di evitare una intera stringa, che è quello che cercavi di fare tu, bensì al più un solo carattere<br>
<br></div><div>Dalla documentazione:<br></div><div><br>Characters that are not within a range can be matched by <em class="">complementing</em>
the set.  If the first character of the set is <tt class=""><span class="">'^'</span></tt>, all the characters
that are <em>not</em> in the set will be matched.  For example, <tt class=""><span class="">[^5]</span></tt> will match
any character except <tt class=""><span class="">'5'</span></tt>, and <tt class=""><span class="">[^^]</span></tt> will match any character except
<tt class=""><span class="">'^'</span></tt>.  <tt class=""><span class="">^</span></tt> has no special meaning if it’s not the first character in
the set.<br><br></div><div>... non si parla di sequenze ma solo di singoli caratteri<br>
</div></div><br></div><div class="gmail_extra">direi che non c'è scampo all'andare di non-greedy come effettivamente hai fatto<br><br></div><div class="gmail_extra">Se non ricordo male questa limitazione è intrinseca e ha a che fare con il vincolo delle espressioni regolari di poter essere implementate con automi a stati finiti<br>
</div><div class="gmail_extra"><br></div><div class="gmail_extra">gradite altre opinioni,<br>Marco<br></div></div>