使用 ultraedit 查找并替换 Perl 正则表达式以将冒号插入到 4 位数字时间字符串中

use ultraedit find and replace Perl regex to insert colon into 4 digit time string

我在几个文件中有多个 24 小时时间字符串。例如,1234,我希望将其替换为 12:34.

找到它们很容易,只需 \d\d\d\d,我理解并且有效。但是,我需要什么替换字符串。换句话说,说 xx:xx,我用什么来代替每个 x.

我试过很多东西都无济于事。我显然不明白我是如何让它记住它找到的数字并在替换字符串中回忆它们的。

如果在您的示例数据中,4 位数字代表 24 小时时间字符串,您可以匹配单词边界之间的 2 个捕获组,以防止匹配超过 4 位数字。您可以根据需要调整字边界。

匹配

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

替换

组 1:组 2 :

说明

  • \b匹配单词边界
  • (\d{2}) 捕获一组2位数字
  • (\d{2}) 捕获一组2位数字
  • \b匹配单词边界

备注

匹配 4 位数字不会验证有效的 24 小时时间。您可以使用例如 \b([01][0-9]|2[0-3])([0-5][0-9])\b 匹配并替换为 :