0
我有以下代碼:如何在傳遞函數進行替換時獲得匹配組?
this.parse = function(whatToParse, currentItem) {
var re = /\{j\s([a-z0-9\.\|_]+)\ss\}/gi;
var newResult = whatToParse.replace(re, function(matches){
alert(matches);
});
}
whatToParse是:
<h1>
{j name s}
</h1>
<div>
<nobr>{j description s}</nobr>
</div>
但爲什麼比賽是不是數組?它只包含匹配的字符串,不包含組。 例如:alert(matches);
警報「{j name s}」和alert(matches[1]);
警報「j」。
爲什麼?如何獲得第一組?
P.S.我不明白,因爲在PHP中,這個RegExp正常工作。
它工作正常。你會看到2個警報,因爲有2個匹配。而有趣的是 - 在這兩種情況下'匹配'[1]'是'j'。 – c69
你知道什麼是正則表達式組嗎? – Mirgorod