1

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

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

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

4

1 回答 1

2

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

匹配

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

代替

组1:组2\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

于 2018-04-15T18:02:38.460 回答