Salve a tutti, come si usano in Java le regexp?
Ho un lungo testo in una variabile, voglio che mi siano restituite tutte le occorrenze che matchano con la mia espressione (che già ho fatto)... come si fa?![]()
Grazie
Salve a tutti, come si usano in Java le regexp?
Ho un lungo testo in una variabile, voglio che mi siano restituite tutte le occorrenze che matchano con la mia espressione (che già ho fatto)... come si fa?![]()
Grazie
Se cerchi sul forum, è pieno di esempi (anche miei).Originariamente inviato da }gu|do[z]{®©
Salve a tutti, come si usano in Java le regexp?
Ho un lungo testo in una variabile, voglio che mi siano restituite tutte le occorrenze che matchano con la mia espressione (che già ho fatto)... come si fa?
http://forum.html.it/forum/showthrea...readid=1279787
http://forum.html.it/forum/showthrea...readid=1267866
http://forum.html.it/forum/showthrea...readid=1255713
http://forum.html.it/forum/showthrea...readid=1209806
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ti ringrazio, cercando avevo trovato cose meno utili.
In ogni caso non mi è chiaro come fare, se si può, quello che mi serve...
in pratica ho una pagina html in cui ci sono delle sigle abbastanza "standard" ("TC" seguito da dei numeri), mi leggo il codice e devo estrarre quelle sigle... il problema è che le uniche sigle che mi interessano solo quelle cliccabili... l'espressione regolare che le individua l'ho fatta, ma mi restituisce anche i tag.... esiste un modo per farmi restituire solo una parte della stringa che specifico in una regexp più ampia? In php per esempio si può spezzettare il risultato in più parti![]()
Spiego meglio....
questo è un esempio di come può essere fatto l'input
TC12345 is no longer current. It split into: </P>TC392055TC219343
Minimum current TC number is 302922. Maximum valid TC number is 407214
.</P></body></html>
a me interessa prendere "TC392055" e "TC219343"... ma per esvitare doppioni o falsi risultati con altre sigle che possono esser presenti (ma non cliccabili) in altri punti della pagina, vorrei prendere solo quelli cliccabili....
così
Pattern p = Pattern.compile(">[ ]*TC[0-9]+[ ]*</A>");
Matcher m = p.matcher(input);
while(m.find())
{
String tc = m.group();
System.out.println(tc);
}
individua in effetti solo quelli... ma il risultato è
>TC392055</A>
>TC219343</A>
io vorrei
TC392055
TC219343
in php mi pare si possa fare, in java come si fa a parte eventualmente lavorandoseli dopo?![]()
Grazie
Sì, con i "gruppi" (delimitati tra ( ) ). L'esempio è nell'ultimo thread linkato sopra.Originariamente inviato da }gu|do[z]{®©
esiste un modo per farmi restituire solo una parte della stringa che specifico in una regexp più ampia? In php per esempio si può spezzettare il risultato in più parti![]()
![]()
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ok, me lo leggo meglio perchè mi sa che avevo provato ma non c'ero riuscitoOriginariamente inviato da andbin
Sì, con i "gruppi" (delimitati tra ( ) ). L'esempio è nell'ultimo thread linkato sopra.![]()
![]()
Grazie
ok, perfetto... fatto... era una fesseria... è che mi agito quando devo usare Java![]()