带日期的简单正则表达式

Simple Regex with Date

我正在使用 Dreamweaver 替换大约 1,000 个具有类似格式的页面标题实例:

5 5 2016 好吃的大比目鱼

5 19 2016 帝王鲑和大比目鱼的好日子 ...

我希望日期格式如下:

5-5-2016 好吃的大比目鱼

5-19-2016 帝王鲑和大比目鱼的好日子

我尝试了几种使用正则表达式来解决此问题的方法,但无法获得具有所需格式的替换值。有人可以帮我吗?

搜索 ([0-9]+) ([0-9]+) (.*) 并将其替换为 --

建议使用([0-9]{1,2})\s+([0-9]{1,2})\s+([0-9]{4})

这是一个更严格的正则表达式。本质上,您正在捕获 3 组数字,其中

  1. 第1组必须是数字,只能有1个或2个
  2. 第 2 组,相同的 1 或 2 个数字。
  3. 第 3 组,正好是年份的 4 位数字。
  4. 第 4 组,字符串的其余部分。

\s+表示1个或多个空格。

然后 -- 将所有 4 个组一起匹配回来。

参见: https://regex101.com/r/wO3wD6/1