關(guān)于正則表達(dá)式name:[.+]表示看不懂啊
剛剛有個(gè)同學(xué)告訴我這個(gè)正則表達(dá)式可以寫成name:[.+]但是表示看不懂
如果是name:[.+]的話,匹配到的不應(yīng)該是name:steven jobs嗎
而且preg_match不是不是只得到一個(gè)結(jié)果集嗎???
那$match[1]又怎么會(huì)是steven jobs呢??
求老師解答,最好把圓括號(hào)的知識(shí)點(diǎn)也講講吧
剛剛有個(gè)同學(xué)告訴我這個(gè)正則表達(dá)式可以寫成name:[.+]但是表示看不懂
如果是name:[.+]的話,匹配到的不應(yīng)該是name:steven jobs嗎
而且preg_match不是不是只得到一個(gè)結(jié)果集嗎???
那$match[1]又怎么會(huì)是steven jobs呢??
求老師解答,最好把圓括號(hào)的知識(shí)點(diǎn)也講講吧
2017-02-26
舉報(bào)
2017-02-26
我認(rèn)為只有整個(gè)正則表達(dá)式得到匹配的前提下,才會(huì)將符合( )的內(nèi)容放到$1、$2里,剛剛試驗(yàn)了一下,是這樣的,我也是剛學(xué)正則,不太難吧
2017-02-26
我不是老師,給你講一下,按你的思路,name:(.+)才是對(duì)的,
name:[.+]本身是錯(cuò)的,因?yàn)閇]括號(hào)只會(huì)匹配一個(gè)字符,name:[.]+還差不多;
preg_match是得到一個(gè)結(jié)果,得到的結(jié)果放在$0里,匹配到的其他()里的內(nèi)容放在$1,$2……里;
此題最后的結(jié)果要求在$1里,必須要有(),所以匹配表達(dá)式可以寫為name:(.+)