Ich bin nicht in der Lage, die Ausgabe von Gruppen zu verstehen, wie es jede Paranthese im Muster berücksichtigt und dies hier mit der Variablen 'line' gleichsetzt. Bitte erläutertJava Regex Gruppen
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTut3 {
public static void main(String args[]) {
String line = "This order was placed for QT3000! OK?";
String pattern = "(.*)(\\d+)(.*)";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find()) {
System.out.println("Found value: " + m.group(0));
System.out.println("Found value: " + m.group(1));
System.out.println("Found value: " + m.group(2));
} else {
System.out.println("NO MATCH");
}
}
}
mich Zitiert ... [hier] (http://stackoverflow.com/questions/17969436/java-regex-capturing -Gruppen/17969620 # 17969620). – Mena
Der Regex erfasst nur so viele Zeichen außer einem Zeilenumbruch bis zur letzten Ziffer (und wird in Gruppe 1 platziert), dann wird die letzte Ziffer in Gruppe 2 platziert und der Rest der Zeile wird in Gruppe 3 platziert gierige Quantifier und Backtracking. –