用于记事本++的正则表达式来删除字符

时间:2013-10-05 16:36:13

标签: regex notepad++

我需要在Notepad ++中为一个很长的文件创建一个正则表达式。许多行包含我需要删除的一些信息。例如,一行会说:

  

[主题]一个开放日[主题] [主题]如何制作一个[主题]根据人数... ...

在正则表达式的帮助下,我的结果应该只是:

  

根据人数......

2 个答案:

答案 0 :(得分:1)

你有没有尝试过,比如

 \[THEME\].*\[THEME\]

.*是“贪婪的”所以应该尝试跨越最长的伸展距离来进行匹配。

答案 1 :(得分:0)

由于您对要求不是很清楚,因此必须进行假设。以下三种方法都会从您的样本中创建结果......但如果您的样本略有变化,则会产生不同的影响。


假设您要删除除最后[THEME]之后存在的所有内容(如果每行存在),则可以这样做:

.*\[THEME\]

一无所获。


假设您要删除第一个和最后一个[THEME]之间的所有内容(如果每行都存在),则可以这样做:

\[THEME\].*\[THEME\]

一无所获。


假设您要删除两个[THEME]之间的任何内容可能会更复杂,但一个天真的方法可能看起来像这样:

\[THEME\].*?\[THEME\]

什么也没用。这将使:

  

[主题]一个开放日[主题] foobar [主题]如何制作一个[主题]根据人数...

进入此(注意“foobar”):

  

foobar根据人数......