我需要在 Notepad++ 中为一个很长的文件创建一个正则表达式。许多行包含一些我需要删除的信息。例如一行会说:
[主题] 一个开放日 [主题] [主题] 如何制作一个 [主题] 根据人数...
在正则表达式的帮助下,我的结果应该是:
根据人数...
你有没有尝试过任何东西,比如
\[THEME\].*\[THEME\]
这.*
是“贪婪”的,所以应该尝试跨越最长的距离来进行匹配。
由于您对您的要求不是很清楚,因此必须做出假设。以下三种方法都将根据您的样本创建结果......但如果您的样本略有变化,可能会产生不同的影响。
假设您要删除除最后[THEME]
一个之后存在的所有内容(如果每行都存在一个),这将起作用:
.*\[THEME\]
取而代之。
假设您要删除第一行和最后一行之间的所有内容([THEME]
如果它们存在于每一行),这将起作用:
\[THEME\].*\[THEME\]
取而代之。
假设您要删除两个[THEME]
s 之间的任何内容可能会更复杂,但一种天真的方法可能看起来像这样:
\[THEME\].*?\[THEME\]
取而代之。这将使:
[主题] 一个开放日 [主题] foobar [主题] 如何制作一个 [主题] 根据人数...
进入这个(注意“foobar”):
foobar 根据人数...