import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^Description\\h*:\\h*vusb0/iDRAC\\h*Network/.*(?:.*\\R)+?IPv4 Address\\h+:\\h*(\\d{1,3}(?:\\.\\d{1,3}){3})";
final String string = "lo0\n"
+ "Description : lo0\n"
+ "Status : Up\n"
+ "Interface Type : Loopback\n"
+ "DHCP : Disabled\n"
+ "MAC Address : 30-03-27-E3-3B-03\n"
+ "FQDD : Not Applicable\n"
+ "IPv4 Address : 127.0.0.1\n"
+ "Subnet Mask : 255.0.0.0\n\n\n\n"
+ "vmk0\n"
+ "Description : vmnic0/Management Network/vmk0\n"
+ "Status : Up\n"
+ "Interface Type : Ethernet\n"
+ "DHCP : Enabled\n"
+ "DHCPServerV4 : 100.98.65.10\n"
+ "MAC Address : 50-9A-4C-9C-99-8D\n"
+ "FQDD : NIC.Embedded.1-1-1\n"
+ "IPv4 Address : 100.98.68.239\n"
+ "Subnet Mask : 255.255.252.0\n"
+ "IPv6 Address : fe80::529a:4cff:fe9c:998d\n"
+ "Prefix Length : 64\n"
+ "IPv4 Gateway Address : 100.98.68.1\n"
+ "IPv4 DNSServer Address 0: 10.7.7.7\n"
+ "IPv4 DNSServer Address 1: 10.8.8.8\n\n\n\n"
+ "vmk1\n"
+ "Description : vusb0/iDRAC Network/vmk1\n"
+ "Status : Up\n"
+ "Interface Type : Ethernet\n"
+ "DHCP : Disabled\n"
+ "MAC Address : 00-50-56-6E-6F-99\n"
+ "FQDD : Not Applicable\n"
+ "IPv4 Address : 169.254.10.12\n"
+ "Subnet Mask : 255.255.255.0\n"
+ "IPv6 Address : fe80::250:56ff:fe6e:6f99\n"
+ "Prefix Length : 64\n"
+ "IPv4 DNSServer Address 0: 10.7.7.7\n"
+ "IPv4 DNSServer Address 1: 10.8.8.8\n\n\n"
+ "vmk2\n"
+ "Description : vmnic1/iDRAC Network/vmk2\n"
+ "Status : Up\n"
+ "Interface Type : Ethernet\n"
+ "DHCP : Disabled\n"
+ "MAC Address : 00-50-56-6E-6F-99\n"
+ "FQDD : Not Applicable\n"
+ "IPv4 Address : 169.254.3.1\n"
+ "Subnet Mask : 255.255.255.0\n"
+ "IPv6 Address : fe80::250:56ff:fe6e:6f99\n"
+ "Prefix Length : 64\n"
+ "IPv4 DNSServer Address 0: 10.7.8.9\n"
+ "IPv4 DNSServer Address 1: 10.3.2.1\n\n\n\n"
+ "racadm>>";
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