0

我正在查看一些代码并找到以下正则表达式:

var querystring = querystring.replace(/[^&]+=\.?(?:&|$)/g, '')

这是采用查询字符串并用空格替换所有以&符号或问号开头的值吗?这里还有更多我看不到的事情吗?

非常感谢您的合乎逻辑的解释,并有助于对正则表达式有更多的了解。谢谢!

4

2 回答 2

3

它似乎从查询字符串中删除了这些参数,其值为:

  1. 空的
  2. 等于.

例如:

"remove1=&remove2=.&keep1=..&keep2=a&keep3=b".replace(/[^&]+=\.?(?:&|$)/g, '')
// returns "keep1=..&keep2=a&keep3=b"
于 2012-04-27T11:06:20.073 回答
2

[^&]+一个或多个非“&”字符

=文字“=”字符

\.?一个可选的“。”

(?:&|$)“&”字符或字符串的结尾

例如匹配

Foobar=.&
A=

于 2012-04-27T11:04:29.677 回答