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

时间:2018-04-15 17:50:25

标签: regex ultraedit

我有多个24小时时间字符串通过几个文件。例如,1234,我希望用12:34替换。

找到它们很简单,只是\ d \ d \ d \ d,我明白并且它有效。但是,我需要什么替换字符串。换句话说,比如xx:xx,我应该代替每个x。

我尝试了很多事情无济于事。我显然不明白如何记住它找到的数字并在替换字符串中调用它们。

1 个答案:

答案 0 :(得分:2)

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

<强>匹配

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

<强>替换

group1:group2 \1:\2

<强>解释

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

注意

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