import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<=\\bdestination\\s\\/\\S+\\/\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:)(?:2[89][0-9]{3}|3[01][0-9]{3}|32[0-6][0-9]{2}|327[0-5][0-9]|6[5-9][0-9]{3}|65[0-4][0-9]{2}|6553[0-5]|(?:22|53|68|323|500|1067|2379|2380|4500|5355|6443|8005|8007|8087|8443|8444|8505|8507|9007|9090|9153|9999|10249|10250|10251|10252|10256|10257|10259|18091|18092|18093|18095|22222|23790|23791|23801|23802))";
final String string = "\n"
+ "ltm virtual /Common/byoadc-VIP {\n"
+ " description mylistener.byoadc.com\n"
+ " destination /Common/157.109.110.76:28010\n"
+ " ip-protocol tcp\n"
+ " last-modified-time 2023-04-15:13:23:53\n"
+ " mask 255.255.255.255\n"
+ " pool /Common/SSLSUPPORT-POOL\n"
+ " profiles {\n"
+ " /Common/byoadc_2024 {\n"
+ " context clientside\n"
+ " }\n"
+ " /Common/http { }\n"
+ " /Common/tcp { }\n"
+ " }\n\n"
+ "ltm virtual /Microsoft-Exchange/pool-int-dns-tcp-53 {\n"
+ " destination /Microsoft-Exchange/10.175.99.145:53\n"
+ " ip-protocol tcp\n"
+ " mask 255.255.255.255\n"
+ " pool /Microsoft-Exchange/pool-int-dns-53\n"
+ " profiles {\n"
+ " /Common/tcp { }\n"
+ " }\n";
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