-5

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

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

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

根据人数...

4

2 回答 2

1

你有没有尝试过任何东西,比如

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

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

于 2013-10-05T16:44:41.883 回答
0

由于您对您的要求不是很清楚,因此必须做出假设。以下三种方法都将根据您的样本创建结果......但如果您的样本略有变化,可能会产生不同的影响。


假设您要删除除最后[THEME]一个之后存在的所有内容(如果每行都存在一个),这将起作用:

.*\[THEME\]

取而代之。


假设您要删除第一行和最后一行之间的所有内容([THEME]如果它们存在于每一行),这将起作用:

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

取而代之。


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

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

取而代之。这将使:

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

进入这个(注意“foobar”):

foob​​ar 根据人数...

于 2013-10-05T16:47:41.387 回答