import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "[\\r\\n](# DO NOT TOUCH BEGIN[\\n\\r])?auto[ \\t]+vmbr10[ \\t]*[\\n\\r](?:[ \\t]*.*[\\n\\r])*?[ \\t]*bridge_maxwait[ \\t]+0[ \\t]*([\\n\\r]# DO NOT TOUCH END[\\n\\r])?";
final String string = "auto vmbr9\n"
+ "iface vmbr9 inet static\n"
+ " address 10.109.0.2\n"
+ " netmask 255.255.0.0\n"
+ " bridge_ports none\n"
+ " bridge_stp off\n"
+ " bridge_fd 0\n"
+ " bridge_maxwait 0\n\n"
+ "auto vmbr10\n"
+ "iface vmbr10 inet static\n"
+ " up echo 1 > /sys/devices/virtual/net/vmbr10/bridge/multicast_snooping\n"
+ " up echo 0 > /sys/class/net/vmbr10/bridge/multicast_querier\n"
+ " address 10.111.0.2\n"
+ " netmask 255.255.0.0\n"
+ " bridge_ports none\n"
+ " bridge_stp off\n"
+ " bridge_fd 0\n"
+ " bridge_maxwait 0\n"
+ " post-up ip addr add 10.111.0.254/16 dev vmbr10";
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