除了我搜索的内容外,正则表达式删除所有内容

时间:2015-11-06 14:45:25

标签: regex notepad++

使用Notepad ++,我有一个包含数百行的文件,如:

Updates\Microsoft .NET Framework 2.0 Service Pack 2\KB946503]

Updates\Microsoft .NET Framework 2.0 Service Pack 2\KB946504]

我想查找KB编号并用KB编号替换整个文档,所以它看起来像这样:

KB946503

KB946504

到目前为止,我可以使用(?=\b\w+\b)\w*kb\w*查找KB编号,但我不知道在替换字段中放置了什么,我尝试了\1$1但是工作! :)

1 个答案:

答案 0 :(得分:1)

使用

^.*\b(KB\d+)\]$

并替换为\1

正则表达式会找到以KB + digits + ]结尾的所有行,而KBxxxxxx将通过\1反向引用来恢复捕获子串。

enter image description here

如果您只想在一行找到最后一个KBxxxx,请使用

^.*\b(KB\d+).*$

要删除KB之前的所有文本,请使用

^[\s\S]*?\b(KB\d+).*$

但是,应该手动删除“尾巴”。