课程
/后端开发
/PHP
/PHP进阶篇
\w+\s\w+分别代表什么? \w是匹配单词\s是空格,是这样吗? $p = '/(\w+\s\w+)/'; $p='/name:([\w\s]+)/'; $p='/\w+\:([\w\s]+)/';
2015-10-02
源自:PHP进阶篇 3-4
正在回答
\w 匹配包括下划线的任何单词字符。这里的"单词"字符使用Unicode字符集。
\s 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
+ 匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
所以(\w+\s\w+)表示匹配
任意大于等于1次的单词(含下划线)字符 + 1次不可见字符 +任意大于等于1次的单词(含下划线)字符
的三者组合。三个条件是充分必要条件。像这样 _ a, kkk jjj,等可匹配到,像这样a,aa,aa aa,就不能匹配到。
乾坤龙心 提问者
举报
轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序
2 回答'/[\w\-]+@\w+\.\w+/'为什么不是'/[\w\s\-]+@\w+\.\w+/'??后者也匹配成功
4 回答'/(\w+\s\w+)/'为什么没匹配到name?
3 回答\w+\与[\w\-]+的区别?
1 回答$p = '/(\w+\s\w+)/'; 为什么要加括号啊?
4 回答/[^name:]\w+\s+\w+/这样写也可以
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号