首页 > 解决方案 > 正则表达式匹配非 .com/.net 域?

问题描述

我们正在尝试匹配除 .com 和 .net 之外的任何域。如果用户在域名后列出 / 或添加空格,仍希望获得匹配。例如 bit.ly bit.ly/123 和 bit.ly(spaces) 应该都匹配。

我们尝试过:

.[az][az]$'

但是,当域名后面有任何空格或字符时,这不会显示匹配。

标签: phpregex

解决方案


我会使用:

https?://\S+?\.(?!com|net)[a-z]+(?:\s|/|$)

代码:

if (preg_match('~https?://\S+?\.(?!com|net)[a-z]+(?:\s|/|$)~')){
    echo "Valid";
}

演示和解释


推荐阅读