正则表达式 - 在第二个周期后添加一个零

Bre*_*ius 7 regex

我有以下数字示例,我需要在第二个句点 (.) 后添加一个零。

1.01.1  
1.01.2  
1.01.3  
1.02.1  
Run Code Online (Sandbox Code Playgroud)

我希望他们是:

1.01.01  
1.01.02  
1.01.03  
1.02.01
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有以下几点:

搜索:

^([^.])(?:[^.]*\.){2}([^.].*)
Run Code Online (Sandbox Code Playgroud)

代换:

0\1
Run Code Online (Sandbox Code Playgroud)

但这会返回:
仅 01。

我需要 1.01。也被一群人抓到了,但现在我越来越糊涂了。

有谁知道我错过了什么?
谢谢!!

anu*_*ava 6

您可以尝试使用 2 个捕获组替换此正则表达式:

搜索:

^(\d+\.\d+)\.([1-9])
Run Code Online (Sandbox Code Playgroud)

替代品:

\1.0\2
Run Code Online (Sandbox Code Playgroud)

正则表达式演示

正则表达式详情:

  • ^: 开始
  • (\d+\.\d+):匹配 1+ 位数字 + 点,然后是捕获组 #1 中的 1+ 位数字
  • \.: 匹配一个点
  • ([1-9]): 匹配1-9捕获组 #2 中的数字(这是为了避免放在0已经存在之前0
  • 替换: 在捕获组 #2 之前\1.0\2插入0

  • 干杯,伙计,这对我有用:) (2认同)