例如,如果我有这个字符串:
"color=green&animal=panda"
我是否可以使用正则表达式,返回green
,因为它位于color=
之后?
答案 0 :(得分:2)
由于JavaScript 不支持后台(不幸),您只能通过包含前面的子字符串来实现。组green
,并参考该组。
var string = "color=green&animal=panda";
var pattern = /color=(green)/;
var match = pattern.exec(string);
var wantedstring = match[1];
前瞻确实存在,因此以下内容可用于匹配“绿色”,但不能“绿色”:
var pattern = /color=(green)(?=&|$)/;
答案 1 :(得分:1)
当然:
"color=green&animal=panda".replace(/.*color=(.+?)&.*/, '$1') === 'green';
该模式提取color=
之后的任何字符,后跟一个&符号。
答案 2 :(得分:0)
是的,这是可能的。我们称之为匹配组。 这是你的正则表达式:
/color=(.+?)(?:&|#|$)/
它将匹配括号之间的所有内容。在这种情况下,字符串 .+
之后的任何内容(color=
)直到第一个&
字符
正则表达式可以是/color=([^&]+)/
,请参阅Tomalak评论以获得解释:)