如何在六位子串的每两个数字之间添加点?

How to add dots between every two digits of a six digit substring?

我有一个包含大约一千个文件名的文本文件,我需要稍微更改一下。每个文件名都是日期和时间,格式如下:

2013-05-01 120125.jpg

我需要将它们全部转换为:

2013-05-01 12.01.25.jpg

我假设这对于正则表达式来说是相当微不足道的,但是当我尝试用它们做任何事情时我总是感到困惑!感谢您的帮助!

使用捕获组匹配数字,并将其复制到替换中。

替换:(\d\d)(\d\d)(\d\d)\.jpg

与:...jpg

</code>、<code> 复制每个捕获组匹配的原始字符串部分。

正如 Soviut 所提到的,SO 是为了寻求帮助而不是为你完成工作。也就是说:

如果你想用正则表达式做点什么,你最好去 Rubular 网站,它允许你创建你的正则表达式,同时准确地看到你得到的结果。

Rubular

您想通过像这样捕获来在您的子字符串上使用替换技术(在您使用的任何 language/environment 中):

(\d{2})(\d{2})(\d{2})

*注意大括号是为了提高效率。

并替换为:

..

这里是demo link.

这里是SO page discussing the execution of replacements on nano.