решил упростить регулярку - перестала работать

alexblade

Новичок
решил упростить регулярку - перестала работать

^[-\w.]{2,20}@[-\w.]{2,20}\.\w{2,6}$ на онлайн проверке PCRE.RU эта регулярка работает.

в php сценарии же...
во первых большие WW не проходят
во вторых проходят только - , . , w
я же ожидаю что \w это символьный ряд
слэширование \\w тоже не помогает

как заставить интерпретатор понять что \w это символьный ряд внутри класса?
 
покажи пример кода, попробованные тексты и ожидаемый результат
 
function ValidMail($mail)
{if (ereg("^[-\w.]{2,20}@[-\w.]{2,20}\.\w{2,6}$", $mail)) return false;
return true;}

пробую
[email protected] - false
[email protected] - false
[email protected] - true

(все три варианта ожидаю true
но вижу что \ и w воспринимаются как отдельные знаки внутри класса)

\w - подразумевает a-zA-Z0-9_
 
Сверху