如何使用regexp返回多个匹配?

时间:2017-04-14 17:06:23

标签: javascript regex

我试过这段代码:

/\[\[(.*?)\]\]/g

从这样的文本返回多个匹配:一些[[text]]甚至[[more]]文本。但是,它只返回text, more而不是text。我做错了什么? 提前谢谢。

3 个答案:

答案 0 :(得分:0)

正则表达式没问题:

var test = "[[text]] and even [[more]] text.".match(/\[\[(.*?)\]\]/g);
console.log(a);
> ["[[text]]", "[[more]]"]

答案 1 :(得分:0)

您的正则表达式是正确的,其中包含全局匹配标记/g

如果您使用match方法,它应该可以正常工作。

var stringToTest = "some [[text\]\] and even [[more]] text";
var regexToTest = /\[\[(.*?)\]\]/g;

var matches = stringToTest.match(regexToTest);
console.log(matches)

答案 2 :(得分:0)

尝试多次匹配整个正则表达式。像这样:  /([[.*?]])+/克