在Notepad++中删除特定行之前的所有行

4

我需要编辑很多相似的源代码。

random blah
 random blah
blah
<table style="width: 232px; font-size: small;" cellpadding="0" cellspacing="0">....

我想要做的是删除到表格标签之前的行。我认为可以通过正则表达式搜索来实现,但我无法编写正则表达式模式。 谢谢

好问题,但我认为你做不到。我找不到如何启用多行。正则表达式中的(?m)似乎不起作用。也许你应该要求别人给你经过测试的解决方案,因为理论上的解决方案是无用的。 - Alin Purcaru
问题可能是语言只允许你执行一次,但 n++ 不行。 - Keng
2个回答

3
您需要经过多个步骤才能完成上述操作:
  1. 进入替换窗口,选择“扩展”模式,在“查找内容”字段中输入"\r\n",然后将它们替换为:"LINEBREAK"('LINEBREAK'后面有一个空格)。点击“全部替换”。

  2. 再次进入替换窗口,选择“正则表达式”模式,在“查找内容”字段中输入 "(.*)(.*)(<table)(.*)(>)(.*)(.*)",在“替换为”字段中输入 "\2\3\4\5"。点击“全部替换”。

  3. 现在再次进入替换窗口,选择“扩展”模式,在“查找内容”字段中输入"LINEBREAK"('LINEBREAK'后面有一个空格),然后将它们替换为:"\r\n"。点击“全部替换”。

Notepad++不支持多行正则表达式,这使得没有按照上述步骤进行操作会变得困难。


非常感谢,它大部分解决了我的问题,在进行一些微调后将会完美无缺。 - Ozgkrc

0

你可以尝试类似这样的代码:

(^.*$\n)*<table(.+)>

第一组将匹配表格标签之前的所有行 %)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接