【发布时间】:2013-02-13 16:35:54
【问题描述】:
有没有简洁的表达方式:
\w but without _
即“\w中包含的所有字符,_除外”
我问这个是因为我正在寻找最简洁的方式来表达域名验证。域名可以包含小写和大写字母、数字、句号和破折号,但不能包含下划线。 \w 包括以上所有内容,外加一个下划线。那么,有没有办法通过正则表达式从 \w 中“删除”下划线?
已编辑: 我问的是 PHP 中使用的正则表达式。
提前致谢!
【问题讨论】:
-
取决于正则表达式的风格。您使用哪种语言?最简单的方法就是使用
[A-Za-z0-9]。\w确实(通常)不包含破折号或句点。 -
根据风格
\w可能支持 Unicode 字符。除非您完全确定\w代表什么,否则最好使用字符类[]并正常列出所有这些。