Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > ХЕЛП!!! :) регулярное вырожение непонятно


Автор: Ищущий! 30.3.2006, 23:31
Не могу понять ошибку, прошу помочь.

регулярное вырожение (кусочек из большого)
[\.a-zA-Z0-9_\-]+ работает отлично (вроде)

,но если его немного поменять то оно не работает

[a-zA-Z0-9_\-\.]+ в данном случае не воспринимает знак минус,
[\-\.a-zA-Z0-9_]+ вообще ошибку в РНР вызывает...

объясните, может я не понимаю какие-то правила... smile

Автор: IvanB 31.3.2006, 05:23
Вот так попробуй ещё:
Код

[-a-zA-Z0-9_.]+

Должно работать.
А насчёт правил......... smile

Автор: CyClon 31.3.2006, 11:27
Код

preg_match("#^[a-zA-Z0-9_.\-]$#", $string, $matches);


Так?

Автор: smartov 31.3.2006, 11:42
А не проще ли
Код

preg_match("/^[\w\-\.]+$/", $string)

Соответствует наличию любого из следующего a-z A-Z 0-9 "_" "-" "." в строке и не наличия в ней никаких других символов

Автор: Ищущий! 31.3.2006, 12:23
Цитата(IvanB @ 31.3.2006, 05:23)
Вот так попробуй ещё:
Код

[-a-zA-Z0-9_.]+

Должно работать.
А насчёт правил......... smile

а разве не нада перед точкой и тире ставить слыши?
почему?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)