我正在绞尽脑汁想弄清楚如何解决我遇到的这个问题。这是我的文本文件中的一些示例记录:
active users 8D1DF3
active users by test 8D04R0
active users by maker 8DZZ99
active users by report class 8D2CV6
我正在尝试找到一种方法,以便在Notepad ++中使用正则表达式删除所有以8D开头的字符串之外的文本,结果将是这样:
8D1DF3
8D04R0
8DZZ99
8D2CV6
在我的研究中,我仅发现了根据发现的字符串删除行的可能性,而不是从我要保留的字符串之外的行中删除所有文本的能力。 关于如何实现此目标的任何线索将不胜感激。
答案 0 :(得分:5)
请尝试以下正则表达式:
(?<!\S)(?!8D)\S+|\h+
然后什么也不要替换。
故障:
(?<!\S)
不应以非空格字符开头(不应从中间开始匹配)
(?!8D)
子字符串不应以8D
\S+
匹配其余
|\h+
或匹配水平空格
答案 1 :(得分:1)
您想要的正则表达式可能是这个,然后替换为'\1
':
.*(8D.{4})
它实际上匹配所有内容,但是创建了一个'8D'
(还有四个字符)的组,您可以将其用于replace
。