/ / Regex find () non vero; rileva i caratteri duplicati nella stringa - java, regex

Regex find () non vero; rileva i caratteri duplicati in string - java, regex

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");
}
}

Schermata del tester Regex

risposte:

1 per risposta № 1

Il backreference deve essere evitato

Pattern pattern = Pattern.compile("(.).*\1");