我是Regex的新手,并试图弄清楚如何从Notepad ++中删除与#LCxxxx
或#LAxxxx
不匹配的文件中的所有文本。以下示例(希望以粗体显示的文本):
1.在极少数情况下,重新安装此MSP文件可能会导致Citrix Display Driver .....
[来自ICAWS760WX86] [#0528688]
30.此版本包含增强功能......
[来自ICAWS760WX86022] [#LA3014 ]
此版本中的新修复
1.Windows Server 2008 R2和Windows Server 2012 R2,...
[来自ICAWS760WX86026] [#LC2179 ]
已替换的修补程序修复
1.如果是Windows远程桌面会话主机......
[来自ICAWS760WX86004] [#LC1180 ]
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以进行正则表达式搜索和替换,搜索
(#L[AC]....)
其中" dot匹配换行符"未被选中。替换为
\r\n\1\r\n
这将把所有想要的文本单独放在一行上。
接下来使用" Mark"查找窗口中的选项卡。选择"书签行",使用与上面相同的搜索字符串(这次不需要捕获括号,但它们是无害的,因此可以保留),然后点击"标记全部&#34 ;。现在所有想要的行都被加入书签。使用menu => 搜索 => 书签 => 删除未标记的行。
可能有一种方法可以一次性完成所有操作,但这将是一个复杂的正则表达式。上面的方法使用了两个简单的步骤。
答案 2 :(得分:1)
从记事本++中删除与#LCxxxx或#LAxxxx
不匹配的文件中的所有文本
^.*(\[#L[CA]\d+\])$|^.*$
https://regex101.com/r/hO1aL8/2
按照以下屏幕截图中的描述进行搜索和替换:
或者,如果您想在替换操作期间摆脱空行,请使用下面的正则表达式:
^[\S\s]+?(\[#L[CA]\d+\])$
\s
:空格(\ t,\ r,\ n \ n ...)\S
:除空格之外的任何字符。
在记事本6.6.9上测试