Ciao a tutti, esiste in java un metodo che svolga lo stesso compito della funzione EREG in php?
spero proprio di si.
Grazie mille.
Ciao a tutti, esiste in java un metodo che svolga lo stesso compito della funzione EREG in php?
spero proprio di si.
Grazie mille.
Flash Developer for Rich Media
PHP, jQuery Developer
Il supporto alle espressioni regolari è stato introdotto in Java 1.4. Sono disponibili due nuove classi Pattern e Matcher in java.util.regex. Nella classe String sono stati aggiunti dei metodi che trattano le espressioni regolari: matches(), replaceAll(), replaceFirst(), split().Originariamente inviato da Miroku
Ciao a tutti, esiste in java un metodo che svolga lo stesso compito della funzione EREG in php?
Le espressioni regolari sono anche utilizzate da altre classi es. Scanner.
Quindi non ti aspettare un qualcosa di uguale alla ereg del PHP. Documentati su come funzionano in Java.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
mmmmmh
capito....
in pratica io devo analizzare una stringa che rappresenta un tag HTML (a cui sono stati tolti il < e il >) e vedere se è scritta in modo corretto.
quindi deve avere:
una cosa del genere non posso controllarla con il match()?codice:nome_tag (che può contenere lettere e numeri da 1 a 6, compresi) Facoltativo: spazio (singolo perké quelli maggiori li ho rimpiazzati) nome_attributo (solo caratteri) eventuale spazio singolo simbolo '=' eventuale spazio simbolo " valore (caratteri e numeri) simbolo " e la storia dell'attributo può essere ripetuta
in più: com'è l'espressione regolare per qll scritto sopra? io non saprei mai ricavarla![]()
grazie mille in anticipo
Flash Developer for Rich Media
PHP, jQuery Developer
Cioè per esempio come se avessi una stringa del tipo:Originariamente inviato da Miroku
in pratica io devo analizzare una stringa che rappresenta un tag HTML (a cui sono stati tolti il < e il >) e vedere se è scritta in modo corretto.
quindi deve avere:
una cosa del genere non posso controllarla con il match()?codice:nome_tag (che può contenere lettere e numeri da 1 a 6, compresi) Facoltativo: spazio (singolo perké quelli maggiori li ho rimpiazzati) nome_attributo (solo caratteri) eventuale spazio singolo simbolo '=' eventuale spazio simbolo " valore (caratteri e numeri) simbolo " e la storia dell'attributo può essere ripetuta
String tag = "pippo123 aaa = \"blabla\" bbb=\"blabla\"";
giusto? In tal caso puoi usare matches(), che nota bene, verifica che l'intera stringa corrisponda alla espressione regolare. Cioè non fa mai un match parziale.
La espressione regolare non è difficile da fare ... chiaramente è un po' lunghetta.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
si, può precisamente essere come dici tu.
beh se l'espressione regolare tiene conto delle cose facoltative è perfetto.
Beh che sia lunga o meno... l'importante è che funzioni =D
Flash Developer for Rich Media
PHP, jQuery Developer
Basandomi sulle regole che hai detto, la stringa della regex dovrebbe essere così:
"[a-zA-Z1-6]+( +[a-zA-Z]+ ?= ?\"[a-zA-Z0-9]*\")*"
L'ho buttata giù al volo ma dovrebbe essere ok.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Appena la provo di dò il responso =)
Grazie mille, sei gentilissimo (e hai una pazienza di ferro XD.. ti ammiro XD)
Flash Developer for Rich Media
PHP, jQuery Developer
scusami ancora...
se voglio dire che il formato può essere anche " /pippo3 " come faccio?
va bene il codice qui sotto per dire qll che voglio?
poi prima ho sbalgiato a dirti una cosa... per la prima espressione regolarecodice:if(!s.matches("[a-zA-Z1-6]+( +[a-zA-Z]+ ?= ?\"[a-zA-Z0-9]*\")*") || !s.matches("*/ + [a-zA-Z1-6]")) throw new MalformedTagException("Sbagliato");
lo String tag non può iniziare con "pippo123" ma può iniziare solo con o "pippo1" o "pippo2" così fino a 6.... potresti modificarmela?
grazie mille e scusa ancora...
Flash Developer for Rich Media
PHP, jQuery Developer
Ma il numero da 1 a 6 ci deve sempre essere o può non esserci?Originariamente inviato da Miroku
lo String tag non può iniziare con "pippo123" ma può iniziare solo con o "pippo1" o "pippo2" così fino a 6.... potresti modificarmela?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
allora.... non deve esserci per forza (è per permettere l'immissione di tag quali h1 h2 h3....) però può esserci solo una cifra.
per quanto riguarda il "/tagn"?
n = possibile numero da 1 a 6 (anke qui come sopra)
Flash Developer for Rich Media
PHP, jQuery Developer