import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<filename>[a-zA-Z0-9\\\\-\\\\.\\\\/_]+.d)(?<line>\\(\\d+),(?<column>\\d+)\\): (?<level>.+(?=:))(?<message>.*)";
final String string = "source/parsers/x509.d(149,21): Error: function `std.typecons.Nullable!(Address[]).Nullable.length() const` is not callable using argument types `(ulong)`\n"
+ "source/parsers/x509.d(149,21): expected 0 argument(s), not 1\n"
+ "source/parsers/x509.d(151,60): Error: cannot implicitly convert expression `parseAddress(cast(const(char)[])split(cur_line[17], header.set_seperator)[i], null)` of type `std.socket.Address` to `Address[]`\n"
+ "source/parser.d(83,30): Error: template instance `parser.Parser.summarize!(X509)` error instantiating\n"
+ "Error /home/steveno/dlang/dmd-2.101.0/linux/bin64/dmd failed with exit code 1.";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
if (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