我找了一些代碼,發現了以下的正則表達式:這個正則表達式究竟做了什麼?
var querystring = querystring.replace(/[^&]+=\.?(?:&|$)/g, '')
這是取查詢字符串和更換,以與符號或問號以空格開頭的所有值?有沒有更多的事情發生在我看不到的地方?
你是合乎邏輯的解釋是非常感謝和幫助獲得更多的理解正則表達式。謝謝!
我找了一些代碼,發現了以下的正則表達式:這個正則表達式究竟做了什麼?
var querystring = querystring.replace(/[^&]+=\.?(?:&|$)/g, '')
這是取查詢字符串和更換,以與符號或問號以空格開頭的所有值?有沒有更多的事情發生在我看不到的地方?
你是合乎邏輯的解釋是非常感謝和幫助獲得更多的理解正則表達式。謝謝!
這似乎從查詢字符串,其值是除去那些參數:
.
例如:
"remove1=&remove2=.&keep1=..&keep2=a&keep3=b".replace(/[^&]+=\.?(?:&|$)/g, '')
// returns "keep1=..&keep2=a&keep3=b"
我看到,它正在清理字符串中的空值。優秀的答覆,非常感謝!乾杯! – 2012-04-27 12:02:32
[^&]+
一個或多個非 「&」 字符
=
文字 「=」 字符
\.?
一個可選的 「」
(?:&|$)
一個「&」字符或字符串的末尾
將是例如匹配
Foobar =。 &
A =
這將刪除所有匹配/[^&]+=\.?(?:&|$)/g(第二個參數是空字符串而不是空格)的字符串。 – GillesC 2012-04-27 10:59:26
爲什麼querystring被搜索/替換並定義在同一行上? – 2012-04-27 11:03:36
它在表單處理腳本上,查詢字符串在我上面發佈的行之前被序列化:'var querystring = $(this).serialize();'我應該這麼說。 – 2012-04-27 11:06:17