const regex = /address\s*\d+\s*range\s(?<srcIp1>\S+)\s*(?<srcIp2>\S+)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('address\\s*\\d+\\s*range\\s(?<srcIp1>\\S+)\\s*(?<srcIp2>\\S+)', 'gm')
const str = `[USG6300E]display current-configuration
#
ip service-set TCP-TSGZ type object 514
service 0 protocol tcp source-port 8801 to 8804 destination-port 0 to 65535
service 1 protocol tcp source-port 12404 destination-port 0 to 65535
#
ip service-set GWDK type object 515
service 0 protocol tcp source-port 0 to 65535 destination-port 135
service 1 protocol tcp source-port 0 to 65535 destination-port 137 to 139
service 2 protocol tcp source-port 0 to 65535 destination-port 445
service 3 protocol tcp source-port 0 to 65535 destination-port 3389
service 4 protocol udp source-port 0 to 65535 destination-port 135
service 5 protocol udp source-port 0 to 65535 destination-port 137 to 139
service 6 protocol udp source-port 0 to 65535 destination-port 445
service 7 protocol udp source-port 0 to 65535 destination-port 3389
#
ip service-set FXTCP2403 type object 516
service 0 protocol tcp source-port 0 to 65535 destination-port 2403
#
ip service-set FXTCP2404 type object 517
service 0 protocol tcp source-port 0 to 65535 destination-port 2404
#
ip service-set FXTCPTSGZ type object 518
service 0 protocol tcp source-port 0 to 65535 destination-port 8801 to 8804
service 1 protocol tcp source-port 0 to 65535 destination-port 12404
#
ip service-set TCP5149 type object 519
service 0 protocol tcp source-port 0 to 65535 destination-port 5149 to 5150
#
ip service-set FXTCP5149 type object 520
service 0 protocol tcp source-port 5149 to 5150 destination-port 0 to 65535
#
ip service-set syslo type object 521
service 0 protocol udp source-port 0 to 65535 destination-port 162
service 1 protocol udp source-port 0 to 65535 destination-port 514
#
ip service-set UDPCJ type object 522
service 0 protocol udp source-port 0 to 65535 destination-port 161
#
ip service-set TCP102 type object 523
service 0 protocol tcp source-port 0 to 65535 destination-port 102
service 1 protocol tcp source-port 102 destination-port 0 to 65535
#
ip service-set serviceg1 type group 0
service 0 service-set ntp
#
ip service-set serviceg2 type group 1
service 0 service-set serviceg1
service 1 service-set FXTCPTSGZ
#
#
ip address-set TSGZZhu type object
address 0 range 10.78.48.112 10.78.48.118
#
ip address-set TSGZzi type object
address 0 10.82.186.11 mask 32
#
ip address-set JLzhu type object
address 0 range 10.78.44.1 10.78.44.15
#
ip address-set JLzi type object
address 0 range 10.82.186.5 10.82.186.6
#
ip address-set BXzhu type object
address 0 range 10.78.48.197 10.78.48.200
#
ip address-set BXzi type object
address 0 range 10.82.186.9 10.82.186.10
#
ip address-set DICPzhu type object
address 0 range 10.78.48.39 10.78.48.40
#
ip address-set DICPzi type object
address 0 10.82.186.4 mask 32
#
ip address-set erqu type object
address 0 10.85.186.0 mask 27
#
ip address-set addressg1 type group
address 0 address-set erqu
#
ip address-set addressg2 type group
address 0 address-set addressg1
address 1 address-set DICPzi
#
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions