
正则表达式[\w\.\_]和\w模式有什么区别呢
<?php$mode='/(^[\w\.\_]{2,6})@(\w{4,}).([a-z]{2,10})/';$email='matengmeng@gmail.com';...
<?php
$mode='/(^[\w\.\_]{2,6})@(\w{4,}).([a-z]{2,10})/';
$email='matengmeng@gmail.com';
if (preg_match($mode, $email)){
echo '匹配字符串';
}else{
echo '错误,请重新输入';
}
就上面正则表达式中的那个中括号不是选之一么?可是\w本来不就是[0-9a-zA-Z]??求高手给我说清楚 展开
$mode='/(^[\w\.\_]{2,6})@(\w{4,}).([a-z]{2,10})/';
$email='matengmeng@gmail.com';
if (preg_match($mode, $email)){
echo '匹配字符串';
}else{
echo '错误,请重新输入';
}
就上面正则表达式中的那个中括号不是选之一么?可是\w本来不就是[0-9a-zA-Z]??求高手给我说清楚 展开
2个回答
展开全部
简而言之,[\w\.\_] 相当于[0-9a-zA-Z\.\_] ,就是比\w多匹配 '.' 和 ‘_’ 两种字符。
追问
OK,简单明了,谢谢,不过他们只匹配其中一个字符还是一个个的匹配字符?
追答
只匹配其中一个字符
如果你想匹配多次就用你例子中的写法,[\w\.\_]{2,6}
[\w\.\_]{2} 就是匹配[0-9a-zA-Z\.\_]两次
[\w\.\_]{2,6} 就匹配[0-9a-zA-Z\.\_] 至少两次,最多六次。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询