$re = '/(?:(^[^:\r\n]+):?[\r\n]+|\G(?!^))\r?\n[^:\r\n]+ : ([^\r\n]+(?:\r?\n(?!.* : )[ \t]+[^\r\n]+)*)/m';
$str = 'Windows IP Configuration
Host Name . . . . . . . . . . . . : abcmyhost
Primary Dns Suffix . . . . . . . : parker.industries
Node Type . . . . . . . . . . . . : Hybrid-GLS
IP Routing Enabled. . . . . . . . : YES
WINS Proxy Enabled. . . . . . . . : YES
DNS Suffix Search List. . . . . . : parker1.industries
parker2.industries
parker3.industries
parker4.industries
parker5.industries
parker6.industries
parker7.industries
parker8.industries
parker9.industries
parker10.industries
Ethernet adapter Ethernet 5:
Connection-specific DNS Suffix . : parker.industries
Description . . . . . . . . . . . : Ready 2
Physical Address. . . . . . . . . : 60-11-11-31-09-XY
DHCP Enabled. . . . . . . . . . . : NO
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : AB80::11FG:1KI:LK9F:12N2%19(Preferred)
IPv4 Address. . . . . . . . . . . : 111.222.333.444(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Monday, November 11, 2019 6:23:03 AM
Lease Expires . . . . . . . . . . : Wednesday, November 13, 2019 6:51:30 AM
Default Gateway . . . . . . . . . : 111.11.131.1
DHCP Server . . . . . . . . . . . : 111.22.144.199
DHCPv6 IAID . . . . . . . . . . . : 87244642462
DHCPv6 Client DUID. . . . . . . . : 00-01-02-03-04-05-06-07-08-09-10-11-E9-G7
DNS Servers . . . . . . . . . . . : 111.22.111.254
111.22.112.254
111.33.113.254
111.33.114.254
NetBIOS over Tcpip. . . . . . . . : Enabled';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php