import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^project\\(\\n\\s+[^\\n]+\\n\\s+version:\\s+'([^']+)',\\n";
final String string = "project(\n"
+ " 'waybar', 'cpp', 'c',\n"
+ " version: '0.9.20',\n"
+ " license: 'MIT',\n"
+ " meson_version: '>= 0.50.0',\n"
+ " default_options : [\n"
+ " 'cpp_std=c++20',\n"
+ " 'buildtype=release',\n"
+ " 'default_library=static'\n"
+ " ],\n"
+ ")";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
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