这是一个简短的正则表达式示例:
preg_match_all('~(\s+|/)(\d{2})?\s*–\s*(\d{2})?$~u', 'i love regex 00– / 03–08', $matches);
print_r($matches);
正则表达式只匹配'03 -08',但我的意图是匹配'00 - '。问题是什么?谁能解释一下?
答案 0 :(得分:2)
最后部分:
-\s*(\d{2})?$~u
表示在匹配和字符串结尾之间只能有空格和/或可选的两位数。这意味着00-
无法匹配,因为它与字符串末尾之间存在其他内容。
如果删除$
,它应该按照您的意图运行。