删除文件中的所有行,而不是以" 07"

时间:2014-05-01 07:51:21

标签: regex expression notepad++

我需要删除非#34; 07"开头的文件上的所有行。我已经尝试了很多正则表达式而没有成功。有人可以请求我帮忙吗?

3 个答案:

答案 0 :(得分:1)

正则表达式是

^(?!07).*$

使用g(全局)和m(多行)标志。搜索并直接替换。

Link with explanation

  • ^断言"行的开头" (因为我们使用了m修饰符)。

  • (?!07)表示"不以07"开头。它被称为"否定前瞻"。

  • .*表示"零或更多任何内容"。

  • $表示"行尾#34; (因为我们使用了m修饰符)。

  • g修饰符的意思是"全局" (所有事件)。

我还没有使用过Notepad ++,但文档说它使用了PCRE,所以上面应该可行。如果它希望你一起写表达式和标志,那很可能是:

/^(?!07).*$/gm

答案 1 :(得分:0)

这样做:

^(?!07).*

并替换为零。

您不需要$,因为。*会在新行停止。

答案 2 :(得分:-1)

我认为你可以使用像这样的匹配

/^(0[^7]).*/gm

在这种情况下,它将匹配任何数字,但不匹配7

因为[07]将匹配0或7而不是两者