Regexes ich über Java Regexes lerne, und ich bemerkte den folgenden Betreiber:Die Bedeutung von \ 1 * Operator in Java
\\*1
ich herauszufinden, harte Zeit, was es bedeutet, (Suche in der Web hat nicht geholfen). Zum Beispiel, was ist der Unterschied zwischen diesen beiden Optionen:
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));
Ergebnis:
a
a
Dank!
Es ist Back-Referenz – anubhava
Es ist eine Rückverweisung. Eine schnelle Google zeigt, dass dies offenbar nicht in Java funktioniert, müssen Sie etwas anderes verwenden: https://stackoverflow.com/questions/18888877/in-java-regular-expression-1-back-reference-is-not -working – KdgDev
@KdgDev Es funktioniert gut in Java als Regex, aber nicht im Ersatzausdruck. – assylias