Notepad++ 在倒数第二个字符前插入 0

Notepad++ 在倒数第二个字符前插入 0

我有这样一个列表:

2044
2045
2046
103
106
109

在任何长度为 3 位数字的行上,我只想在倒数第二位数字前插入“0”。

2044、2045、2046 保持不变,而 103 更改为 1003、1006、1009。

在 Notepad++ Regex 中,我有 Find:^[0-9][0-9][0-9]$,它似乎突出显示了所有三位数字的行,但我坚持在这些行的倒数第二个数字之前插入 0。

感谢您的时间!

答案1

您需要使用正则表达式“捕获组“ ( 之间的任何匹配())以及 “反向引用“以取回捕获的文本(\1\2以下内容)。

在 regex101.com 这样的网站上玩一下,它也会为你解释正则表达式:

后:

2044
2045
2046
1003
1006
1009

答案2

不使用群组的另一种方法(更有效率):

  • Ctrl+H
  • 找什么:(?<=^\d)(?=\d\d$)
  • 用。。。来代替:0
  • 检查环绕
  • 检查正则表达式
  • Replace all

解释:

(?<=        # positive lookbehind, zerolength assertion that makes sure we have before current position:
    ^       # beginning of line
    \d      # 1 digit
)           # end lookbehind
(?=         # positive lookahead,zerolength assertion that makes sure we have after current position:
    \d\d    # 2 digits
    $       # end of line
)           # end lookahead

给定示例的结果:

2044
2045
2046
1003
1006
1009

屏幕截图:

在此处输入图片描述

相关内容