记事本 + + 替换同一文本的正则表达式匹配和附加字符

我有一个长度为5的文本和数字文件(即 1200011153等)。我想在所有这些数字后面加上一个 0。所以 11153变成了 111530。这可以在记事本 + + 中实现吗?

我知道我可以用下面的正则表达式找到所有的数字: [0-9]{5},但是如何用相同的数字加上一个附加的 0来替换它们呢?

在更换的盒子里,我尝试了以下方法:

  • 字面意思就是 [0-9]{5}0,所以 11153[0-9]{5}0代替了
  • 我在某个地方读到过,\1会进行比赛,但它似乎不起作用。这将用 0代替 11153
  • 编辑: \00-基于这个 回答我我看到我需要使用 \0而不是 \1。但还是没用。这将用 代替 11153

所以,我有一种感觉,我很接近 \1\0,但还不够接近。

83646 次浏览

你可以使用 \K重置

\b\d{5}\b\K

然后换成 0

请参见 regex101的演示

你离答案很近了! 你错过了一个捕捉小组。

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

([0-9]{5})

在“替换为”中,使用以下内容:

\10

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

您非常接近了。您需要在正则表达式中添加一个捕获组,方法是用括号将其包围起来

然后使用 \10作为替代品。这将用来自第1组的文本替换匹配项,后面跟一个零。