我需要这个正则表达式检查的帮助。我是正则表达的新手,所以请保释我。这就是我想要做的事情:
我正在尝试检查此日期范围是否在其声明中都有月份,例如Feb 10 - Feb 12
是正确的,而Feb 10 - 12
应该失败。此外,某些日期实例可能在月份和日期之间或-
和月份或日期之间没有空格。这是我的代码。
preg_match("/([A-Za-z]{3}\ *?\d{1,2}).*?\g{1}/", "Feb10 -feb 13")
但它仍然失败。
答案 0 :(得分:0)
根据我在问题下面的原始评论。
([A-Z]{3} *\d{1,2}) *- *(?1)
([A-Z]{3} *\d{1,2})
将以下内容捕获到捕获组1中
[A-Z]{3}
匹配任何3个大写ASCII字母。添加i
标志使我们也可以匹配小写变体
*
匹配任意数量的空格\d{1,2}
匹配一位或两位数字
*
匹配任意数量的空格-
按字面意思匹配
*
匹配任意数量的空格(?1)
递归第一个子模式