如何在字符串中选择变量?
我的字符串是
?aa=56345634563456&bb=16843621384
我尝试使用这个表达式:
(\?|\&)aa=([^&]*)
给我这个结果:
?aa=56345634563456
我想只选择值而不是aa = ,只选择此值:
56345634563456
如何使用正则表达式选择该值?
PS:我的英语不太好,谢谢你理解
答案 0 :(得分:1)
您的正则表达式(\?|\&)aa=([^&]*)
是正确的。但是你需要打印第二个被捕获的组而不是打印整个匹配。
以下正则表达式只匹配值,您不需要去捕获组。因此,当您使用以下正则表达式时,打印整个匹配不会有问题。
如果要匹配变量aa
和bb
的值,请尝试以下正则表达式,
(?<=[?&](?:aa|bb)=)[^&]*
如果您只想匹配aa
的值,请尝试下面的
(?<=[?&]aa=)[^&]*
在javascript中,
> "?aa=56345634563456&bb=16843621384".match(/[?&]aa=([^&]*)/)[1];
'56345634563456'
或强>
> var s = "?aa=56345634563456&bb=16843621384";
undefined
> var re = /[?&]aa=([^&]*)/g;
undefined
> function getMatches(string, regex, index) {
... index || (index = 1);
... var matches = [];
... var match;
... while (match = regex.exec(string)) {
..... matches.push(match[index]);
..... }
... return matches;
... }
undefined
> var matches = getMatches(s, re, 1);
undefined
> matches
[ '56345634563456' ]
答案 1 :(得分:0)