var reg=/([^&=]+)=([^&=]*)/ig;
求前輩幫忙講解下,上述正規表示式;它可以匹配處查詢字串中的名/值對,但是實在看不懂,這是怎麼一個匹配規則? ?
如&name=bob&age=10,他可以符合出 name=bob 和age=10
三叔2017-06-28 09:29:59
我來嘗試講解一下:
//ig
表示 忽略大小寫,全域搜尋
詳情看: js正規表示式物件
([^&=]+)=([^&=]*)
這個正規表示式可以分作3部分看:
1) ([^&=]+)
表示 符合1到n(n>1)個非 '&','='的字元
2) =
表示匹配 = 號(只有一個)
3) ([^&=]*)
與1) 的意義相近,不過表示的數目有所不同:
符合 0到n(n為任意正整數)個非 '&','='的字元
這裡面需要注意的有這些點:
a) 正規表示式量詞
b) 正規表示式分組和分組在不同模式下的回傳
最後,正規表達式不是一個容易上手的概念,幾道題目或者情況並不能夠讓你就熟練的使用它,建議多思考,多提問.