/ / Regex encontrar () no es cierto; detectar caracteres duplicados en cadena - java, expresiones regulares

Regex find () no es verdadero; detectar caracteres duplicados en cadena - java, regex

Estoy tratando de detectar si hay algún duplicadocaracteres en una cadena usando expresiones regulares. Cuando pruebo el patrón y la entrada en un probador de expresiones regulares en línea, dice que find () debe ser verdadero. Pero no funciona en mi programa. Estoy usando información de: expresiones regulares para hacer coincidir una palabra con caracteres únicos (no repetidos).

¿Qué está pasando? ¿Estoy usando expresiones regulares correctamente en 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");
}
}

Captura de pantalla del probador Regex

Respuestas

1 para la respuesta № 1

La referencia inversa debe ser escapada

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