我試過這段代碼:如何使用regexp返回多個匹配?
/\[\[(.*?)\]\]/g
從文本中返回多個匹配這樣的:一些[文字],甚至[更多]文本。但不是text, more
,它只返回text
。我做錯了什麼? 在此先感謝。
我試過這段代碼:如何使用regexp返回多個匹配?
/\[\[(.*?)\]\]/g
從文本中返回多個匹配這樣的:一些[文字],甚至[更多]文本。但不是text, more
,它只返回text
。我做錯了什麼? 在此先感謝。
正則表達式是確定的:
var test = "[[text]] and even [[more]] text.".match(/\[\[(.*?)\]\]/g);
console.log(a);
> ["[[text]]", "[[more]]"]
您發佈的答案是肯定的*正則表達式* – Mohammad
你的正則表達式是正確的,其中包括全球匹配標誌/g
。
如果使用match
方法,它應該可以正常工作。
var stringToTest = "some [[text\]\] and even [[more]] text";
var regexToTest = /\[\[(.*?)\]\]/g;
var matches = stringToTest.match(regexToTest);
console.log(matches)
嘗試將整個正則表達式多次匹配。像這樣: /([[*?]])+/g
@FPeter你如何得到'match'? – kennytm
@dawg正則表達式沒有問題。 –
你使用'match()'還是'exec()'?後者僅返回第一次出現的匹配並需要一個while循環來檢索所有匹配的組。 – Terry