【发布时间】:2009-10-14 03:15:37
【问题描述】:
我在使用 PHP PCRE 时遇到问题,而且我已经习惯了 POSIX,所以我不太确定自己做错了什么。基本上,这个函数最多匹配 10 个用逗号分隔的数字。但是,它也匹配字符串sdf(可能还有许多其他字符串),我看不出原因。谁能帮帮我?
$pattern='^\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?\d{0,5},? ?^';
$leftcheck=preg_match($pattern, $leftmodules);
$centercheck=preg_match($pattern, $centermodules);
$rightcheck=preg_match($pattern, $rightmodules);
if(!$leftcheck OR !$centercheck OR !$rightcheck)
{
$editpage = $_SERVER['HTTP_REFERER'].'?&error=1';
die("Location:$editpage");
}
【问题讨论】:
-
@waiwai933:您的主要问题是您的正则表达式以 ^ 而不是 $ 结尾
-
Asaph,胡萝卜被用作正则表达式的分隔符。
-
考虑到可读性,这不是最佳选择。
标签: php regex preg-match pcre