Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Regex 只匹配域名而不匹配子域的正则表达式_Regex - Fatal编程技术网

Regex 只匹配域名而不匹配子域的正则表达式

Regex 只匹配域名而不匹配子域的正则表达式,regex,Regex,我只想匹配REGEX中的domain.com而不是subdomain.domain.com 现在我有这个正则表达式 /([0-9a-z-]{2,}\.[0-9a-z-]{2,3}\.[0-9a-z-]{2,3}|[0-9a-z-]{2,}\.[0-9a-z-]{2,3})$/i 但它也与子域匹配。所以我想跳过带有子域的域,只处理“正常”的域 有什么想法吗?谢谢大家! 编辑:像.co.in、.co.uk等域。。。。不应该被跳过。这样可以吗 /^[0-9a-z-]+\.(?:(?:co|or|gv

我只想匹配REGEX中的domain.com而不是subdomain.domain.com

现在我有这个正则表达式

/([0-9a-z-]{2,}\.[0-9a-z-]{2,3}\.[0-9a-z-]{2,3}|[0-9a-z-]{2,}\.[0-9a-z-]{2,3})$/i
但它也与子域匹配。所以我想跳过带有子域的域,只处理“正常”的域

有什么想法吗?谢谢大家!

编辑:像.co.in、.co.uk等域。。。。不应该被跳过。

这样可以吗

/^[0-9a-z-]+\.(?:(?:co|or|gv|ac)\.)?[a-z]{2,7}$/i
仅匹配
domain.com

更改了一点,因为将TLD限制为最多3个字符会导致
.museum
之类的内容失效,或者是有意的


如果你真的需要一个更精确的模式,那将是一个非常长的模式,而正则表达式可能不是最好的解决方案。正如您所看到的,存在着:)

您必须做的第一件事是明确定义域扩展,否则需要

domain.co.in作为子域,但它是一个域

所以你的正则表达式需要有类似(com | co.in | co.uk | org | org.in…)

试试这个(尝试和测试)


希望它有帮助:)

我不知道,我想只使用正则表达式是可能的。可能需要使用loop.sub.domain.com来获得半匹配。很好!这就是我要找的!阿德比舍克·戈尔说了一些有趣的话。如何不跳过像.co.in、.co.uk这样的域?太好了,现在它可以正常工作了。现在subdomain.domain.com不匹配,但domain.co.in匹配!谢谢大家!@user2914878这是一个相当松散的模式,根据您的需要进一步定制,happy可能会有所帮助:)@Dude第二件事是regex需要有类似(com | co.in | co.uk | org | org.in…):PSounds像是一个延续,但第三件事呢?还是其他的正确答案?谢谢你们的帮助,不幸的是我还不能代表你们。
 ^[0-9a-z-]+\.(?:\.)?(com|com.au|org|org.in|co|co.uk)$