Forum Webscript.Ru
Программирование => Perl => Тема начата: Croaker от 20 Августа 2002, 15:54:53
-
Хочу на Perl`e написать проверяльщик поля на следующее соответсвие: Фамилия Имя Отчество на русском языке.
на PHP работало вот это:
/[^A-Za-z0-9]+\\s[^A-Za-z0-9]+\\s[^A-Za-z0-9]+/
на Perl`e не прокатило =(.
Примет ли Perl русские символы как [^A-Za-z0-9] или нет?
-
На перле прокатит так:
/[а-яА-Я]+\\s[а-яА-Я]+\\s[а-яА-Я]+/
если сервак кириллицу поддерживает.
-
не.. не катит
-
/[^a-z\\d\\s]+\\s[^a-z\\d\\s]+\\s[^a-z\\d\\s]+/i
-
$name=~m/^[а-яА-Я0-9 ]+$/
Принимает: Пробел, Русские буквы и Цифры. Если Подчеркивание еще нужно то:
$name=~m/^[а-яА-Я0-9 \\_]+$/
-
$name=\'Иванов Иван Иваныч\';
print \'ok\' if ($name=~m/(?:[А-Я][а-я]+\\s){2}[А-Я][а-я]+/);
$name=\'Иванов ван Иваныч\';
print \'ok\' if ($name=~m/(?:[А-Я][а-я]+\\s){2}[А-Я][а-я]+/);
-
ююю а ты проверила? ;)
PS. Может пора зарегистрироваться?
-
ююю
Спаибо =)
-
>>ююю а ты проверила?
Проверенно! Дело в том что мы здесь в Казахстане считаем что ФИО это есть
“ Три слова разделённых пробельными символами первая буква которых заглавная”
По этому
$name=\'Иванов ван Иваныч\';
print \'Не ФИО\' unless ($name=~m/(?:[А-Я][а-я]+\\s){2}[А-Я][а-я]+/);
-
А, в таком ключе...:)
Я уже к никам настолько привык. Не обратил внимание на заглавные буквы Фамилия Имя Отчество на русском языке.
-
ююю
Что есть ":?" ?
-
Что есть ":?" ?
А точнее (?: ... ) это ограничивающая группировка без сохранения совпадений.
-
просто я пока не силен в перле и его "регулярных"
соответственно проверка на e-mail будет следующая:
$email =~/(?:[A-Za-z0-9\\_\\-]{1,}\\@[A-Za-z0-9\\_\\-]{1,}\\.[A-Za-z]{2,4})/
-
(?:шаблон) Группирует элементы шаблона В отличие от обычных круглых скобок не создаёт нумерованной переменой