<input type="text" value="[tabelas][something][oas]" id="allInput">
<script type="text/javascript">
allInput = document.getElementById('allInput');
var nivel = new Array('tabelas', 'produto');
for (var i =0; i < nivel.length ; i++ )
{
alert(" oi => " + allInput.value + " <-- " + nivel[i]) ;
var re = new RegExp("^\[" + nivel[i] + "\]\[.+\].+", "g");
alert(re);
allInput.value = allInput.value.replace(
re, "OLA");
alert(" oi 2 => " + allInput.value + " <-- " + nivel[i]) ;
}
</script>
基本上我想在[tabelas] [某事物] [otherfield]中用一些数量替换“something2”,我一直在玩regexp并使用.replace(/ expression /,xxx)和新的RegExp()。
致以最诚挚的问候,谢谢您的帮助。
答案 0 :(得分:0)
如果您使用new RegExp(...)
语法构造一个RegExp,那么您需要两个反斜杠来转义字符。
new RegExp("^\\[" + nivel[i] + "\\]\\[.+\\].+", "g");
答案 1 :(得分:0)
"\["
将导致字符串[
,"\\["
将导致{{ 1}}。\[
匹配\[.+\]
等字符串。您可能想要[abc][def]
或类似的东西。