Я учусь о Java регулярных выражений, и я заметил, следующий оператор:Значение \ 1 * оператор в Java регулярные выражения
\\*1
У меня трудно понять, что это значит (поиск в сеть не помогла). Например, в чем разница между этими двумя вариантами:
Pattern p1 = Pattern.compile("(a)\\1*"); // option1
Pattern p2 = Pattern.compile("(a)"); // option2
Matcher m1 = p1.matcher("a");
Matcher m2 = p2.matcher("a");
System.out.println(m1.group(0));
System.out.println(m2.group(0));
Результат:
a
a
Спасибо!
Это называется обратная ссылка – anubhava
Это обратная ссылка. Быстрый google показывает, что это явно не работает на Java, вам нужно использовать что-то еще: https://stackoverflow.com/questions/18888877/in-java-regular-expression-1-back-reference-is-not -working – KdgDev
@KdgDev Он отлично работает на Java в качестве регулярного выражения, но не в заменяющем выражении. – assylias