我正在查看一些代码并找到以下正则表达式:
var querystring = querystring.replace(/[^&]+=\.?(?:&|$)/g, '')
这是否采用查询字符串并用空格替换所有以&符或问号开头的值?还有更多的事情发生在我看不到的地方吗?
非常感谢您的逻辑解释,并帮助您更好地理解正则表达式。谢谢!
答案 0 :(得分:3)
似乎从查询字符串中删除了那些值为:
的参数.
例如:
"remove1=&remove2=.&keep1=..&keep2=a&keep3=b".replace(/[^&]+=\.?(?:&|$)/g, '')
// returns "keep1=..&keep2=a&keep3=b"
答案 1 :(得分:2)
[^&]+
一个或多个非“&”字符
=
文字“=”字符
\.?
可选“。”
(?:&|$)
a“&”字符或字符串的结尾
例如匹配
Foobar的=安培;
A =