import re
regex = re.compile(r"^Description\h*:\h*vusb0/iDRAC\h*Network/.*(?:.*\R)+?IPv4 Address\h+:\h*(\d{1,3}(?:\.\d{1,3}){3})", flags=re.MULTILINE)
test_str = ("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>>")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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 Python, please visit: https://docs.python.org/3/library/re.html