<div dir="ltr"><div dir="ltr">On Sun, May 3, 2020 at 3:40 PM Gollum1 <<a href="mailto:gollum1.smeagol1@gmail.com">gollum1.smeagol1@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Il giorno gio 30 apr 2020 alle ore 15:35 Marco Beri<br>
<<a href="mailto:marcoberi@gmail.com" target="_blank">marcoberi@gmail.com</a>> ha scritto:<br><br>
> >>> import re<br>
> >>> testo = """lunghezza legno: 1000 cm<br>
> ... peso del tronco: 34 kg<br>
> ... tempo di lavorazione: 11 ore 57 minuti"""<br>
> >>> re.findall(r"\s(\d+)\s*(\w+)(\s\d+\s\w+)?", testo)<br>
> [('1000', 'cm', ''), ('34', 'kg', ''), ('11', 'ore', ' 57 minuti')]<br><br>
Grande Marco,<br>ormai ci metti le regexp ovunque... non per niente ci hai scritto  un<br>
bellissimo libro... :.P<br>
<br>
questo tuo modo, avrebbe il vantaggio che si trova nelle varie tuple i<br>
valori e le grandezze...<br>
però non sarebbe possibile fare le tuple con i campi necessari? per<br>
esempio, eliminare il campo vuoto nelle prime due, e separare<br>
uletriormente la terza in '57' , "minuti"?<br></blockquote><div><br></div><div>No, evitare i gruppi vuoti che io sappia non si può (però puoi ignorarli facilmente da Python.</div><div>Questa divide in due gruppi la terza:</div><div><span style="background-color:rgb(255,255,254);color:rgb(0,0,0);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre"><br></span></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div><span style="background-color:rgb(255,255,254);color:rgb(0,0,0);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre">\s(\d+)\s*(\w+)(?:\s(\d+)\s(\w+))?</span> </div></div></blockquote><div class="gmail_quote"><div><br></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div><span style="color:rgb(0,0,255)">import</span> re</div></div></div></div><div class="gmail_quote"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div>testo = <span style="color:rgb(163,21,21)">"""lunghezza legno: 1000 cm</span></div></div></div></div><div class="gmail_quote"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div><span style="color:rgb(163,21,21)">peso del tronco: 34 kg</span></div></div></div></div><div class="gmail_quote"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div><span style="color:rgb(163,21,21)">tempo di lavorazione: 11 ore 57 minuti"""</span></div></div></div></div><div class="gmail_quote"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><div><span style="color:rgb(0,0,255)">print</span>(re.findall(r<span style="color:rgb(163,21,21)">"\s(\d+)\s*(\w+)(?:\s(\d+)\s(\w+))?"</span>, testo))</div><div><br></div></div></div></div></blockquote><div class="gmail_quote"><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><br></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_quote"><div style="color:rgb(0,0,0);background-color:rgb(255,255,254);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre">[('1000', 'cm', '', ''), ('34', 'kg', '', ''), ('11', 'ore', '57', 'minuti')]
</div></div></blockquote><div class="gmail_quote"><div><br></div><div><br></div><div><br></div><div>Ciao.</div><div>Marco.</div></div></div>