慕函数3178513
2017-02-26 09:14
刚刚有个同学告诉我这个正则表达式可以写成name:[.+]但是表示看不懂
如果是name:[.+]的话,匹配到的不应该是name:steven jobs吗
而且preg_match不是不是只得到一个结果集吗???
那$match[1]又怎么会是steven jobs呢??
求老师解答,最好把圆括号的知识点也讲讲吧
我认为只有整个正则表达式得到匹配的前提下,才会将符合( )的内容放到$1、$2里,刚刚试验了一下,是这样的,我也是刚学正则,不太难吧
我不是老师,给你讲一下,按你的思路,name:(.+)才是对的,
name:[.+]本身是错的,因为[]括号只会匹配一个字符,name:[.]+还差不多;
preg_match是得到一个结果,得到的结果放在$0里,匹配到的其他()里的内容放在$1,$2……里;
此题最后的结果要求在$1里,必须要有(),所以匹配表达式可以写为name:(.+)
PHP进阶篇
181835 学习 · 2577 问题
相似问题