仅删除在正则表达式

时间:2016-09-22 01:33:22

标签: javascript regex datatables

我目前正在制作一个带有datatables插件的表,我使用组合框制作了一个过滤器,以获得符合特定条件的结果。我遇到的问题是删除包含文本的某些行。例如:

在我的专栏中,我将在行中添加此文本:



Dividend (Full (100%) Scrip Div available)
<br>
Dividend
<br>
Code Change
<br>
Dividend (Full (100%) Scrip Div available)
<br>
Consolidation
<br>
Dividend
<br>
Dividend
&#13;
&#13;
&#13;

我想删除那些只有Dividend作为完整单词的人,其他人应该保留。

目前我这样做:

titleColumn.search('^(?:(?!Dividend).)*$', true, false).draw();

它现在所做的是删除包含Dividend一词的所有行,但我只想删除那些包含完整单词的行。

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

您需要的是精确的字符串匹配。您可以将其用作参考。这将检查完全匹配,然后您可以删除它或任何你的逻辑。

var reg = /^Dividend$/;
console.log(reg .test('Dividenda')); // false
console.log(reg .test('ba Dividend')); // false
console.log(reg .test('Dividend (Full (100%) Scrip Div available)')); // false
console.log(reg .test('Dividend a')); //false
console.log(reg .test('Dividend')); //true

在你的情况下:

titleColumn.search(reg, true, false).draw();

答案 1 :(得分:0)

实质上,我们希望查找由行的起点和终点约束的单词Dividend。但是,因为您希望排除这些行,所以我们使用了一个环视:

titleColumn.search('^(?!Dividend$)', true, false).draw();