Regex从javascript的表中删除特定的tr标签

Regex to delete particular tr tag from table in javascript

本文关键字:tr 标签 删除 javascript Regex      更新时间:2023-09-26
var tableData = '<tr id=7020934><td>7020934</td><td>anuradha</td><td><a href="#" class="delete">x</a></td></tr><tr id=8736519><td>8736519</td><td>Rohan</td><td><a href="#" class="delete">x</a></td></tr>';

我想删除带有给定id的tr标签。

我写了以下regex,但每次

都返回false
var regex='<tr id=7020934.+?<'/tr>';
alert(/regex/.test(tableData));

但是如果我使用

alert(/<tr id=7020934.+?<'/tr>/.test(tableData));

我在警报框中得到true。我不能理解这两种方法的区别。

由于我的id是动态生成的,所以我想采用第一种方法

你应该这样做

var regex=/<tr id=7020934.+?<'/tr>/;
alert(regex.test(tableData));

问题是//之间的任何内容都被视为正则表达式而不是变量。

如果你想构造一个基于变量的正则表达式:

var regex = new RegExp(pattern,modifiers)

在你的例子中是:

var regex='<tr id=7020934.+?<'/tr>';
alert(new RegExp(regex).test(tableData));

基本上你可以想到

var regex = /pattern/modifiers;

var regex = new RegExp(pattern,modifiers);