Notepad++ 正则表达式帮助

Notepad++ 正则表达式帮助

我目前正在尝试寻找

\000\000\001\031704_news_release.pdf

我已经成功做到了

000\\000\\\d\d\d\\

我很确定我在这里做错了什么,因为我想用回车符(\r)来替换,但是当我运行替换时,最后一组 3 位数字被删除了。

因此期望的输出是

\000\000\001\

031704_news_release.pdf

作为参考,我正在运行以下内容作为我的替代品

000\\000\\\1\2\3\\\r

有任何想法吗?

答案1

好吧,您还没有捕获任何可供 \1 和 \2 和 \3 引用的内容,这就是为什么当您尝试在替换中引用它们时似乎丢失了一些东西。

在查找部分中使用圆括号(括号)括住要保留的 \1、\2 和 \3,如下所示

目前还不清楚你想做什么,但这里有一个例子

而且您不会只想在替换中使用 \r。我在示例中包含了您的错误,它不知何故生成了新行。但您应该使用 \n(unix 行结尾)或 \r\n(windows 行结尾)来生成新行/行分隔符/行终止符。

在此处输入图片描述

如果你想让你的正则表达式更简洁

寻找:(0{3}\\){2}\d+\\

替换:$0\r\n

请注意,您可以在示例正则表达式中轻松使用 $0。这意味着整个匹配

所以对于你的那个,你可以这样做

寻找:000\\000\\\d\d\d\\

代替:\0\r\n

在此处输入图片描述

答案2

尝试一下这个搜索文本:

000\\000\\(\d+)\\或这个000\\000\\(\d\d\d)\\

这是您的替换文本:

000\\000\\\1\\\r或者000\\000\\\1\\\n

为了替换正则表达式中的文本,您需要确定要替换的内容。您只是漏掉了括号。括号将括起来的正则表达式标识为“捕获”文本。请查看此处以获得更详细的解释: http://www.regular-expressions.info/brackets.html

另外,我建议看一下 Ultrapico 提供的免费正则表达式工具 Expresso:http://www.ultrapico.com/Expresso.htm

相关内容