Sto cercando di rilevare se ci sono duplicaticaratteri in una stringa usando regex. Quando collaudo lo schema e inserisco un tester regex online, dice che find () dovrebbe essere vero. Ma non funziona nel mio programma. Sto usando informazioni da: regex per abbinare una parola a caratteri univoci (non ripetitivi).
Che cosa sta succedendo? Sto usando correttamente regex in Java?
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pat = Pattern.compile("(.).*1");
String s = "1112";
Matcher m = pat.matcher(s);
if (m.find()) System.out.println("Matches");
else System.out.println("No Match");
}
}
risposte:
1 per risposta № 1Il backreference deve essere evitato
Pattern pattern = Pattern.compile("(.).*\1");