Javascript Regex从字符串中捕获域名,包括特定tld的电子邮件地址';s
我需要正则表达式,可以从字符串解析域名,包括从电子邮件地址的域名。我在StackOverflow上找到以下正则表达式:Javascript Regex从字符串中捕获域名,包括特定tld的电子邮件地址';s,javascript,regex,url,subdomain,Javascript,Regex,Url,Subdomain,我需要正则表达式,可以从字符串解析域名,包括从电子邮件地址的域名。我在StackOverflow上找到以下正则表达式: /(?:[\w-]+\.)+[\w-]+/ 根据提供的演示,它的工作原理非常出色: 我从StackOverflow的另一个问题中得到了正则表达式: 我想将现有的正则表达式更改为只匹配特定的TLD(例如,com | net | biz) 因为我对regex完全是新手,所以我很难弄清楚该把这个规定放在哪里 非常感谢您的帮助。试试这个 (?:[\w-]+\.)+com|net|b
/(?:[\w-]+\.)+[\w-]+/
根据提供的演示,它的工作原理非常出色:
我从StackOverflow的另一个问题中得到了正则表达式:
我想将现有的正则表达式更改为只匹配特定的TLD(例如,com | net | biz)
因为我对regex完全是新手,所以我很难弄清楚该把这个规定放在哪里
非常感谢您的帮助。试试这个
(?:[\w-]+\.)+com|net|biz
试试这个
(?:[\w-]+\.)+com|net|biz
/(?:[\w-]+\)+(?:com | net | biz)/i
函数检查(){
var str=prompt(“URL示例:”);
var match=str.match(/(?:[\w-]+\)+(?:com | net | biz)/i);
如果(匹配)
警报(“您的域为:“+match+”);
其他的
警报(“对不起!没有匹配的内容!”);
}
试试
/(?:[\w-]+\)+(?:com | net | biz)/i
函数检查(){
var str=prompt(“URL示例:”);
var match=str.match(/(?:[\w-]+\)+(?:com | net | biz)/i);
如果(匹配)
警报(“您的域为:“+match+”);
其他的
警报(“对不起!没有匹配的内容!”);
}
TRY
您可能想要\b(?:[\w-]+\)+(?:com | net | biz)\b
->您可能想要\b(?:[\w-]+\)+(?:com | net | biz)\b
->这将匹配“biz”
“net”。您应该将com | net | biz
分组到像(?:com | net | biz)
这样的非捕获组中。这将匹配“biz”
和“net”
。您应该将com | net | biz
分组到一个非捕获组中,如(?:com | net | biz)
。