【发布时间】:2017-07-29 15:03:24
【问题描述】:
我想构造一个识别有效域名的模式。有效的域名包含字母数字字符和破折号。唯一的规则是名称不应以破折号开头或结尾。
我有一个用于验证的正则表达式^\w((\w|-)*\w)?$
但是,该表达式也在验证带有下划线的字符串(例如:cake_centre),这是错误的。谁能告诉我为什么会发生这种情况以及如何纠正它?
P.S.:我在 PHP 中使用 preg_match() 函数来检查验证。
【问题讨论】:
-
已经解决了,使用
\b来缩短模式的想法:/^\b[a-z\d-]+\b$/i
标签: php regex validation