[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_match выдает ошибку
Tornado
Здравствуйте.
Есть строка, она может выглядеть так "name@mail.ru<br />", а может так "name@gmail.com," (с запятой). Нужно вытащить мыло

Код:

$regexp = "^([a-z0-9_]|\-|\.)+'.'@'.'(([a-z0-9_]|\-)+\.)+'.'[a-z0-9]{2,4}$";

preg_match ("$regexp", "$email");


Выдат ошибку Warning: preg_match() [function.preg-match]: No ending delimiter '^' found



Спустя 9 минут, 56 секунд (12.03.2011 - 13:57) imba написал(а):
Tornado
Выделять начало и конец регулярки принято символами (любыми), а ты забыл.
Вот: |^ ... $| или / или другие, как душе угодно!

Спустя 8 минут, 6 секунд (12.03.2011 - 14:05) Tornado написал(а):
Теперь выдает
Warning: preg_match() [function.preg-match]: Unknown modifier '\'
Спс. Решил проблему

Спустя 7 минут, 42 секунды (12.03.2011 - 14:12) imba написал(а):
Tornado
\ - экранизация, лучше пользоваться независимым знаком. Учебники рекомендуют / , я же рекомендую | smile.gif

Спустя 28 минут, 18 секунд (12.03.2011 - 14:41) Trianon написал(а):
экранирование. Экранизация - это из области кино smile.gif

Учебники, кстати, не просто так рекомендуют / а не |
У | есть собственная нагрузка - разделять варианты альтернативных фрагментов шаблона.

/^(one|two|three)$/

/ и вправду встречается слишком часто, чтобы быть оптимальным вариантом.
Я использую ~

Спустя 4 минуты, 40 секунд (12.03.2011 - 14:45) imba написал(а):
Trianon
Эх, мелочи-мелочи =) Экранирование, хохлам дозволено так ошибаться! =)
Насчет ! - ты прав, стоит пересмотреть использование распределения как |, хотя | - рекомендовал Котеров.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.