正则表达式问题 - 缺少匹配

时间:2009-09-08 14:13:02

标签: php regex pcre

这是一个简短的正则表达式示例:

preg_match_all('~(\s+|/)(\d{2})?\s*–\s*(\d{2})?$~u', 'i love regex  00– /   03–08', $matches);
print_r($matches);

正则表达式只匹配'03 -08',但我的意图是匹配'00 - '。问题是什么?谁能解释一下?

1 个答案:

答案 0 :(得分:2)

最后部分:

-\s*(\d{2})?$~u

表示在匹配和字符串结尾之间只能有空格和/或可选的两位数。这意味着00-无法匹配,因为它与字符串末尾之间存在其他内容。

如果删除$,它应该按照您的意图运行。