var string = input.replace(/\[noparse\]([^\]]+)?\[\/noparse\]/ig, '<noparse>'+removeBrackets('$1')+'</noparse>');
如何在函數中使用javascript正則表達式反向引用?
該表達式應該採取的字符串和編碼包裹在[noparse]標籤的部件,使他們不在一個textarea渲染。
我測試此爲:
var string = input.replace(/\[noparse\]([^\]]+)?\[\/noparse\]/ig, '<noparse>test</noparse>');
和:
var string = input.replace(/\[noparse\]([^\]]+)?\[\/noparse\]/ig, '<noparse>'+String('$1')+'</noparse>');
和他們的工作(不希望的效果)。
function removeBrackets(input){
return input
.replace(/\[/g, '[')
.replace(/\]/g, '\');
}
我在做什麼錯在嘗試將back引用傳遞給removeBrackets函數?
''[^ \]] +'應該是'[^ \ [] +' –
您可能希望將MDN加入書籤供將來參考:https://developer.mozilla.org/en-US/docs/Web/ JavaScript/Reference/Global_Objects/String /替換 –