Notepad ++替换相同文本和附加字符的正则表达式匹配

时间:2016-03-14 09:07:45

标签: regex replace notepad++

我有一个文件和长度为5的数字(即1200011153等)。我想用0附加所有这些数字。因此11153变为111530。这在Notepad ++中是否可行?

我知道我可以使用以下正则表达式查找所有数字:[0-9]{5},但如何使用相同的数字替换这些数字,加上附加0

在替换盒中,我尝试了以下方法:

  • [0-9]{5}0 - 字面意思,所以11153[0-9]{5}0取代
  • \10 - 我在某处\1会看到匹配,但它似乎无法正常工作。这会将11153替换为0
  • 编辑:\00 - 根据此SO answer,我发现我需要使用\0代替\1。它仍然无法工作。这会将11153替换为

所以,我感觉我与\1\0关系密切,但距离不够近。

3 个答案:

答案 0 :(得分:64)

你非常接近答案!你错过的是一个捕获组。

在“查找内容”部分中使用此正则表达式:

([0-9]{5})

在“替换为”中,使用此:

\10

()代表一个捕获组。这实际上意味着您捕获您的号码,然后将其替换为后跟零。

答案 1 :(得分:4)

你非常接近。您需要通过括号括起来为正则表达式添加捕获组。 ([0-9]{5})

然后使用\10作为替代品。这正在将匹配替换为组1中的文本,后跟零。

答案 2 :(得分:3)

您可以使用\K to reset

\b\d{5}\b\K

并替换为0

See demo at regex101