我有一个动态创建的表,其中包含一些我想删除的冗余占位符,它们看起来像这样:
{firm[i][j]} //i,j are numbers
我在JavaScript中尝试正则表达式,但它不起作用,这是我的正则表达式,下表是一个将插入DOM的字符串。
var table = "
<table class='table table-sm' style='margin:auto;'>
<thead>
<tr>
<th colspan='5'>QARELEASE</th>
</tr>
</thead>
<tbody>
<tr style='text-align:left;'>
<td width='25%;'>{firm[i][j]}</td>
<td width='25%;'>{firm[i][j]}</td>
<td width='25%;'>{firm[i][j]}</td>
<td width='25%;'>{firm[i][j]}</td>
</tr>
</tbody>
</table>"
正则表达式:
table = table.replace(/{firm[\d{1}][\d{1}]}/g, "");
不太确定为什么它无法运作
答案 0 :(得分:2)
如果你也试图匹配[],你需要逃避它们:
table = table.replace(/{firm\[\d{1}\]\[\d{1}\]}/g, "");
答案 1 :(得分:0)
另一种直接方法是从以下捕获组返回:
var str = '{firm[123][12]}';
str.replace(/\{firm\[(\d+)\]\[(\d+)\]\}/g,"$1,$2") //will return 123,12
str.replace(/\{firm\[(\d+)\]\[(\d+)\]\}/g,"{foo $1-$2}") // will return {foo 123,12}
//and so on ....