У меня проблема с PHP PCRE, и я привык к POSIX, поэтому я не слишком уверен в том, что я делаю неправильно. В принципе, эта функция сопоставляет до 10 чисел, разделенных запятыми. Тем не менее, это также соответствует строке sdf
(и, возможно, многим другим), о которой я не вижу причины. Может кто-нибудь мне помочь?Проблемы с PHP PCRE
$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
Асафа, В качестве разделителей для регулярного выражения используются морковь. –
Не лучший выбор, учитывая читаемость. – Joey