我试过这段代码:
/\[\[(.*?)\]\]/g
从这样的文本返回多个匹配:一些[[text]]甚至[[more]]文本。但是,它只返回text, more
而不是text
。我做错了什么?
提前谢谢。
答案 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)
尝试多次匹配整个正则表达式。像这样: /([[.*?]])+/克