亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于正則表達式name:[.+]表示看不懂啊

剛剛有個同學告訴我這個正則表達式可以寫成name:[.+]但是表示看不懂

如果是name:[.+]的話,匹配到的不應該是name:steven jobs嗎

而且preg_match不是不是只得到一個結果集嗎???

那$match[1]又怎么會是steven jobs呢??

求老師解答,最好把圓括號的知識點也講講吧

正在回答

2 回答

我認為只有整個正則表達式得到匹配的前提下,才會將符合( )的內容放到$1、$2里,剛剛試驗了一下,是這樣的,我也是剛學正則,不太難吧

0 回復 有任何疑惑可以回復我~
#1

慕函數3178513 提問者

非常感謝!
2017-02-26 回復 有任何疑惑可以回復我~

我不是老師,給你講一下,按你的思路,name:(.+)才是對的,

  1. name:[.+]本身是錯的,因為[]括號只會匹配一個字符,name:[.]+還差不多;

  2. preg_match是得到一個結果,得到的結果放在$0里,匹配到的其他()里的內容放在$1,$2……里;

  3. 此題最后的結果要求在$1里,必須要有(),所以匹配表達式可以寫為name:(.+)

0 回復 有任何疑惑可以回復我~
#1

慕函數3178513 提問者

我打錯了應該是name:(.+),如果照你的意思,如果字符串里邊有好多個符合()的字符串,$1,$2都會有相應的值,如果可以匹配到很多字符串,是不是每次比較的時候也比較前邊那部分啊比如name: 剛剛接觸正則表達式,不大懂
2017-02-26 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
PHP進階篇
  • 參與學習       181921    人
  • 解答問題       2668    個

輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序

進入課程

關于正則表達式name:[.+]表示看不懂啊

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號