[英]Regex to match subdomains other than “www”
大家好。 现在我在我的PHP应用程序上有这个正则表达式:
$regex = '#^(www\.)*([^www][a-z0-9-]+)\.tanlup\.local$#';
这就是我需要做的事情:
MATCH www.something.tanlup.local
MATCH something.tanlup.local
NOT MATCH www.tanlup.local
NOT MATCH tanlup.local
问题是当我有一个以“w”开头的子域时,它不匹配! 有谁知道为什么以及如何让它变得更好?
谢谢!
为这样的一次性情况构建过于复杂的正则表达式是弄巧成拙的。 你可能有更好的运气建立一个非常通用的正则表达式和黑色列出某些域:
$regex = '/^([-\w]+.)+tanlup.local$/';
$disallowed = array ('www.tanlup.local', 'tanlup.local');
if (preg_match($regex, $str) && false === array_search($str, $disallowed) {
// success
}
[^ www]不会做你认为它做的事情。 你说你不想要'w'字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.