import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:(?:[+-]?\\d+\\.?\\d*[ ,]+){5}[+-]?\\d+\\.?\\d*)|(?:(?:[+-]?\\d+\\.?\\d*[ ,]+){2}[+-]?\\d+\\.?\\d*)";
final String string = "textbefore 101, 520, 62\n"
+ "GOTO 960.93 796.22 59.20 -0.34 0.00 -89.81\n"
+ "$5GOTO 1960.93 1796.22 159.20 -0.34 0.00 -89.81\n"
+ "501, 513, 162\n"
+ "1040, 1040, 520 text after \n"
+ "error\n"
+ "222, 222\n"
+ "1500, 1500, 60 (1)\n"
+ "1337 1337 65\n"
+ "124.5, 133.6, 35.4\n"
+ "15:13:26 Condition: index_ != StringList::npos [line 178](125, 157, 215) \n"
+ "Allocating shadow map cache 6324 x 6324: 76.28 MB";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html