2014-10-10 92 views
0

我想在这个代码块只更换的“删除”字符串:正则表达式记事本++取代

<table asldkjf> 
remove 
remove 
remove 
<tr> 

问题是保持表标签中的“asldkjf”字符串。

我试着

<table[^>]*><tr> 

更换

<table[^>]*>[^<]*<tr> 

而且我得到了

<table[^>]*><tr> 

,因为它取代了 'asldkjf' 与“这是不正确[^>] *'

我已经tr IED替换基于reference

<table[^>]*>[^<]*<tr> 

<table$1><tr> 

而且我得到了

<table><tr> 

这也是不正确的。

回答

1

使用捕获组并围绕要替换其文本的模式。您可以用$n来引用它们,其中n是捕获组的编号。

有关捕捉组如何工作的更多信息,请参阅look at this answer

查找内容:

(<table[^>]*>)[^<]*(<tr>) 

替换为:

$1$2 
+0

这工作完美!谢谢 – developer234 2014-10-10 14:36:11

0

您可以使用此reegx

(?<=<table asldkjf>).*(?=<tr>) 

,并用空字符串替换。使用dotall修饰符。

DEMO