Hen*_*wan 1 php regex preg-match
我仍然是正则表达式的新手.我想用这个规则创建一个正则表达式:
if (preg_match('^[ A-Za-z0-9_-#]^', $text) == 1) {
return true;
}
else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
简而言之,我希望$ text接受文本,数字,空格,下划线,短划线和散列(#).上面的reg表达式是否正确?它总是回归真实.
首先,你不应该使用^表达边界,因为它们也用于表达锚点; 使用/,~或者#代替.
其次,字符集中的破折号应位于最后位置; 否则它匹配_直到的范围#,这可能不是你想要的.
第三,表达式现在只匹配一个字符; 你会想要使用诸如+或的乘数*.
最后,您应该锚定表达式,以便字符串中只存在那些有效字符:
/^[ \w#-]+$/
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我把它换成A-Za-z0-9_与\w作为一种快捷方式.
| 归档时间: |
|
| 查看次数: |
4268 次 |
| 最近记录: |