【发布时间】:2018-03-15 14:00:46
【问题描述】:
我需要有关此正则表达式检查的帮助。我是正则表达式的新手,所以请保释我。这就是我想要做的:
我正在尝试检查此日期范围是否在其声明中都有月份,例如Feb 10 - Feb 12 是正确的,而 Feb 10 - 12 应该会失败。此外,某些日期实例在月份和日期之间或- 和月份或日期之间可能没有空格。这是我的代码。
preg_match("/([A-Za-z]{3}\ *?\d{1,2}).*?\g{1}/", "Feb10 -feb 13")
但它总是失败。
【问题讨论】:
-
好像你想要
([A-Za-z]{3}\ *?\d{1,2}).*?(?1)。您是否尝试使用子例程而不是反向引用? -
谢谢大家,这两种解决方案都有效。
-
我认为正则表达式不适合您的任务。
XYZ 12 - abc 34呢?这些是好日子吗?找到一种方法将范围分成两个字符串。删除任何空间。然后只需$d=date_parse_from_format( "Mj","Feb10");