const regex = /(([\w\.]+)(\.[^/\n]+)\/?(.*\/?)*)
/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(([\\w\\.]+)(\\.[^\/\\n]+)\\\/?(.*\\\/?)*)
', 'gm')
const str = `google.map.com
google.com
youtube.com/die_bro
y0ut_ube.com
tmall.com
tmall.com/yo/got/mail
facebook.com
facebook.com
baidu.com
baidu.com
qq.com
qq.com
sohu.com
sohu.com
login.tmall.com
login.tmall.com
taobao.com
taobao.com
yahoo.com
yahoo.com
JD.com
JD.com
JD.com
JD.com
jd.com
jd.com
amazon.com
amazon.com
sina.com
sina.com
weibo.com
weibo.com
pages.tmall.com
pages.tmall.com
live.com
live.com
reddit.com
reddit.com
netflix.com
netflix.com
xinhuanet.com
xinhuanet.com
Okezone.com
Okezone.com
Okezone.com
Okezone.com
okezone.com
okezone.com
blogspot.com
blogspot.com
office.com
office.com
microsoft.com
microsoft.com
vk.com
vk.com
csdn.net
csdn.net
instagram.com
instagram.com
alipay.com
alipay.com
bing.com
bing.com
google.com
google.com
bongacams.com
bongacams.com
microsoftonline.com
microsoftonline.com
livejasmin.com
livejasmin.com
tribunnews.com
tribunnews.com
twitter.com
twitter.com
stackoverflow.com
stackoverflow.com
naver.com
naver.com
Amazon.com
Amazon.com
Amazon.com
Amazon.com
aliexpress.com
aliexpress.com
ebay.com
ebay.com`;
// 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