<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small"><span style="font-family:Arial,Helvetica,sans-serif">On Fri, 28 Aug 2020 at 15:58, Valerio Pachera <<a href="mailto:sirio81@gmail.com">sirio81@gmail.com</a>> wrote:</span><br></div></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"><div dir="ltr"><div>Ciao a tutti, consideriamo la seguente stringa:</div><div>'uno due intruso due tre uno'</div><div>voglio matchare 'intruso'.</div><div>A dire il vero, voglio trovare qualsiasi cosa non  sia 'uno', 'due', 'tre', 'quattro'.</div><div>'quattro' non è presente nella stringa ma potrebbe esserci.</div><div>Anche la presenza delle altre parole "buone" è opzionale.<br></div><div><br></div><div>Come strategia ho pensato a questo pattern:</div><div><br></div><div>'((?:uno)|(?:due)|(?:tre)|(?:quattro)|(?: ))'</div><div><br></div><div>Così faccio il match di tutte le parole "buone".</div><div>Ora dovrei solo riuscire a negare il pattern e quindi matchare intruso.<br></div><div><br></div><div>Sto testandolo la regex su <a href="https://regex101.com/" target="_blank">https://regex101.com/</a> e mi sembra di essere sulla buona strada ma non so come fare la negazione del pattern.</div><div>Speravo in un semplice ^ ma non è il carattere giusto.</div></div></blockquote><div><br></div><div><br></div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small">\w+\b(?<!\buno|due|tre|quattro)</div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small">Ciao.<br>Marco.</div><div class="gmail_default" style="font-family:arial,sans-serif;font-size:small"><br></div></div></div>