PDA

View Full Version : [JAVA] conversione regex da perl a java


shinya
20-03-2008, 10:13
Sto lavorando su una applicazione client/server nella quale devo passare un'espressione regolare dal client (un textfield nel quale l'utente scrive) ad una servlet, che poi la consuma.
Ora, siccome la sintassi java per le regex fa stronzare (scrivere '\\\\' per matchare una '\' mi sembra decisamente troppo) vorrei che l'utente avesse la possibilità di scrivere la regex in un formato umano (cioè come si scrivono in perl) per poi convertirla in automatico e passarla alla classe java.

Mi basta raddoppiare tutte le '\' o vi vengono in mente altri accorgimenti, casi speciali, altre conversioni necessarie? Sono un pò arrugginito con le espressioni regolari...

wizard1993
20-03-2008, 10:21
nel mio libro di testo, c'è un capitolo riguardo la formattazioni degli stream in entrata e in unscita, ora guardo

andbin
20-03-2008, 11:21
Ora, siccome la sintassi java per le regex fa stronzare (scrivere '\\\\' per matchare una '\' mi sembra decisamente troppo)Alt, attenzione a non confondere le cose. Una cosa è la espressione regolare in sé e un'altra è scriverla in un stringa "literal" all'interno di un sorgente.

Se vuoi matchare proprio un backslash (\) la regex pura è:

\\

Se la devi scrivere come stringa "literal" dentro un sorgente, allora devi scrivere:

"\\\\"

ma se la devi ricevere in input dall'utente (da console, da un textfield o altro), devi digitare solo la regex cioè \\

shinya
20-03-2008, 13:24
c'hai ragione anche te...
va bene grazie! discussione chiusa! :)