const regex = new RegExp('(?:(?:[a-f0-9]*)?:){1,7}[a-f0-9]*', 'gim')
const str = `[::1]
[:a:1]
[:bh:lh:1]
[1:1:fEd1:1:abdc:1]
[::ffff:192.0.2.128]
[0000:0000:0000:0000:0000:0000:0000:0001]
[2001:0db8:0000:0000:0000:ff00:0042:8329]
[2001:db8:0:0:0:ff00:42:8329]
[2001:db8::ff00:42:8329]
[2001:0db8:0000:0000:0000:ff00:0042:8329]
::1
:a:1
:bh:lh:1
1:1:fEd1:1:abdc:1
::ffff:192.0.2.128
0000:0000:0000:0000:0000:0000:0000:0001
2001:0db8:0000:0000:0000:ff00:0042:8329
2001:db8:0:0:0:ff00:42:8329
2001:db8::ff00:42:8329
2001:0db8:0000:0000:0000:ff00:0042:8329
United Kingdom , London
IP: 91.149.202.91
IPv6: 2605:e440:8::2:1b
http://91.149.202.91/1000MB.test
http://[2605:e440:8::2:1b]/1000MB.test
`;
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