Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex从字符串中捕获域名,包括特定tld的电子邮件地址';s_Javascript_Regex_Url_Subdomain - Fatal编程技术网

Javascript Regex从字符串中捕获域名,包括特定tld的电子邮件地址';s

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

我需要正则表达式,可以从字符串解析域名,包括从电子邮件地址的域名。我在StackOverflow上找到以下正则表达式:

/(?:[\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)