PDA

View Full Version : Regular Expression, come faccio??


kingv
25-06-2003, 17:38
mi arriva una stringa del tipo:

http://www.mioserver.com/dir/2dir/miofile.html (il file puo' essere meno in sottodirectory)

voglio estrarre solo:
http://www.mioserver.com/

se mi creo una RegExp del tipo:


Pattern.compile("http[s]?://.+/", Pattern.CASE_INSENSITIVE);


nel caso l'indirizzo sia http://www.mioserver.com/index.html funziona, ma se e' invece http://www.mioserver.com/dir/file.html mi ritorna http://www.mioserver.com/dir/, poiche il ".+" fa il match di tutti gli slash fino al piu' esterno.

Come faccio? Ho già provato tutti i quantificatori possibili ma senza risultati :cry:

kingv
25-06-2003, 17:43
ho già risolto, sono un somaro....



Pattern.compile("http[s]?://[a-zA-Z_0-9.]+/", Pattern.CASE_INSENSITIVE);

kingv
26-06-2003, 09:21
era sbagliato pure il secondo, nel caso a qualcuno potesse mai tornare utile la versione migliore che ho trovato (che Non fa controlli formali, assumo che ciò che arriva sia corretto) è


private static Pattern p2 = Pattern.compile("http[s]?\\://[a-zA-Z0-9\\.\\-]+/", Pattern.CASE_INSENSITIVE);


e' bello portare avanti un topic da soli.... :D http://forum.hwupgrade.it/faccine/59.gif

Nightingale
26-06-2003, 16:57
Originally posted by "kingv"

era sbagliato pure il secondo, nel caso a qualcuno potesse mai tornare utile la versione migliore che ho trovato (che Non fa controlli formali, assumo che ciò che arriva sia corretto) è


private static Pattern p2 = Pattern.compile("http[s]?\\://[a-zA-Z0-9\\.\\-]+/", Pattern.CASE_INSENSITIVE);


e' bello portare avanti un topic da soli.... :D http://forum.hwupgrade.it/faccine/59.gif

dai... faccio la comparsa così ti senti meno solo... :D

http://forum.hwupgrade.it/faccine/32.gif

kingv
26-06-2003, 17:05
Originally posted by "Nightingale"



dai... faccio la comparsa così ti senti meno solo... :D

http://forum.hwupgrade.it/faccine/32.gif


http://forum.hwupgrade.it/faccine/31.gif