![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Что значит мой вариант??? Я пока никаких вариантов, по поводу E-mail не выкладывал. Вот тебе тестовый код, с твоим регулярным выражением, никакой первый символ не проверяется:
Если ты мел вииду это: ^ , то здесь первым символом может быль любой из перечисленных в квадратных скобках, это может быть и точка и подчёркивание и т.д. Вот так проверяю я E-mail, но задесь только регулярка, я же как правило таким выражением очищаю переменную, если это возможно, так как всегда использую -T.
Удачи. ЗЫ: только не думай, что я хочу выделиться, просто регулярки очень обманчивы и в них легко ошибиться. Я например тоже очень часто допускаю ошибки в них. Это не для того, что бы показать, что я умнее или наоборот. Ты очень даже не плохо знаешь Perl, я это вижу, просто в данном случае ты ошибся. Вот и всё. Не принимай на свой счёт. Это сообщение отредактировал(а) korob2001 - 9.7.2005, 13:46 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| sharq |
|
||||||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
korob2001
смотри на первой странице мой пост с проверкой и функцией korob2001 прочти мой предыдущий пост на странице 2 про тестирование вариантов на mail.ru и протестируй на своем примере.
блин, да все окей, даже проблем быть не может. respect. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||||||
|
|||||||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Спасибо за понимание, просто многие так и считают, хотя я их и понимаю, тоже в своё время был таким. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| SantaXP |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
Так, ок:
Это проверка работает, но, если написать так:
То всё меняется местами (то есть значение True и False). Почему так??? ------ И ещё один ламерский вопрос, мне надо, чтобы логин был не менее 3-х знаков, я пишу:
Однако тогда проверка не пашет вообще... ------- И последний маленький вопросик, какую книгу или статью вы посоветуете, чтобы разобраться в тонкостях регулярных выражений, а то я их даже из книги "Изучаем PERL" понять не могу??? |
||||||
|
|||||||
| korob2001 |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
А это зачем?
Исправь:
Если проверка максимального значения не нужна, тогда это выражение будет выглядеть так:
"Программирование на Perl", "Perl - библиотека программиста", "Perl - специальный справочник". Последнюю посмотри, я где-то выкладывал полную версию в электронном виде. Если не найдёшь, то дай знать, выложу ещё раз. Удачи. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||||||
|
|||||||||||||
| Burdin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.7.2005 Где: Сахалин Репутация: нет Всего: нет |
а как тогда проверить на содержание в ней только а-яА-Яa-zA-Z0-9_
подскажите |
|||
|
||||
| chaos |
|
||||||||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: нет Всего: 44 |
читайте rfc-822 PS да и вообще врядли можно написать такое регулярное выражение для проверки валидности почтового адреса PSS а если и можно то он будет очень и очень большой длины Это сообщение отредактировал(а) chaos - 11.7.2005, 12:41 |
||||||||||
|
|||||||||||
| Guest |
|
|||
|
Unregistered |
Burdin
Таже тема, только в профиль. Должно быть так, код не проверял у себя на сервере. |
|||
|
||||
| Burdin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.7.2005 Где: Сахалин Репутация: нет Всего: нет |
а количество символов????? |
|||
|
||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
chaos - Что касается таких товарищей, у которых адреса такого плана: mybox.mail, то таких кренделей очень мало и это их трудности.
Burdin - смотри выше, я уже тебе привёл примеры того, как проверить кол-во символов прямо в регулярном выражении.
Так же, но стоит подключить прагму locale и вполне возможно модуль POSIX Это сообщение отредактировал(а) korob2001 - 12.7.2005, 09:26 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
| sharq |
|
||||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
SantaXP качай доку по регекспу здесь.
chaos
Вот вариант Т. Кристиансена, может слышал о таком .)
korob2001
у меня без прагмы locale работает, но попробовать стоит. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||||
|
|||||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
sharq - у меня работает только с use locale, а некоторым и она не помогает и нужно напрямую подключать POSIX. Эта тема уже была здесь, только я не помню как называется. Вобщем я пишу всегда просто:
Тут и начался спор, что нужно подключать ещё и POSIX, т.е. так:
Может для надёжности лучше так и делать, хотя по идее locale делает это, она для того и предназначена. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
| SantaXP |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
2sharq
Спасибо, скачал, буду изучать! ---- 2korob2001 Можно чуть-чуть поподробней о locale? Что это за зверь, что он делает и с чем едят? |
|||
|
||||
| korob2001 |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
SantaXP - эта прагма заставляет компилятор включить национальные установки из POSIX. Необходимо это в том случае, если тебе к примеру нужно перевести регистр или осуществить поиск с учётом языковой среды.
Вот тебе простой пример:
Попробуй запустить. Скорее всего, после запуска этого кода, ничего так и не произойдёт, строка так и останется такой же "вАсЯ". А теперь попробуй раскоментировать use locale и запусти пример снова. Результат должен быть таким "Вася". Эта прагма является с лексической областью видимости, а так же есть способ отключить её, no locale. Вот написал пример, который полностью всё это демострирует, подробности читай в коментариях:
После первой попытки должен быть такой результат:
После второй попытки:
После третьей попытки:
Это сообщение отредактировал(а) korob2001 - 24.8.2005, 06:20 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |