Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите c регулярным выражением
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Строитель пишет:
что обозначает "символ :" ?
Двоеточие? Символ ":" не является метасимволом, и обозначает сам себя.
Artix
Отправлено: 08 Февраля, 2018 - 23:44:02
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Дек. 2017
Помог: 0 раз(а)
[quote=Строитель][/quote]
/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/
тогда смысл с их тут?
Когд с гугла
Строитель
Отправлено: 08 Февраля, 2018 - 23:49:06
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Artix пишет:
тогда смысл с их тут?
Ну это ведь уже не просто символ двоеточия - это последовательность символов. В данном контексте последовательность символов (?:...) является не сохраняющими скобками. Что бы понять, что это означает, прочтите мануал по ссылке из моего поста выше.
Artix
Отправлено: 09 Февраля, 2018 - 17:59:49
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Дек. 2017
Помог: 0 раз(а)
Строитель пишет:
Artix пишет:
тогда смысл с их тут?
Ну это ведь уже не просто символ двоеточия - это последовательность символов. В данном контексте последовательность символов (?:...) является не сохраняющими скобками. Что бы понять, что это означает, прочтите мануал по ссылке из моего поста выше.
прочитал, только не понял что куда сохраняет
Строитель
Отправлено: 09 Февраля, 2018 - 18:42:18
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Artix пишет:
прочитал, только не понял что куда сохраняет
Я вам выше по теме рекомендовал прочтение книги, вот выдержка из неё:
Стандартные круглые скобки обычно выполняют две функции: группировку и сохранение. Они почти всегда включаются в выражения в виде (…), но в ряде диалектов используется запись \(…\). К их числу относятся диалекты GNU Emacs, sed, vi и grep.
Сохраняющие скобки идентифицируются по порядковому номеру открывающей скобки от левого края выражения, как показано на стр. 68, 70 и 85. Если в диалекте поддерживаются обратные ссылки, то на текст, совпавший с подвыражением в круглых скобках, можно ссылаться в том же регулярном выражении при помощи метасимволов \1, \2 и т. д.
Чаще всего круглые скобки применяются для извлечения данных из строки. Текст, совпавший с подвыражением в круглых скобках (для краткости – «текст, совпавший с круглыми скобками»), остается доступным после применения выражения.
Читайте книгу вдумчиво, и всё станет понятно.
Artix
Отправлено: 09 Февраля, 2018 - 20:53:07
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Дек. 2017
Помог: 0 раз(а)
Строитель пишет:
Artix пишет:
прочитал, только не понял что куда сохраняет
Я вам выше по теме рекомендовал прочтение книги, вот выдержка из неё:
Стандартные круглые скобки обычно выполняют две функции: группировку и сохранение. Они почти всегда включаются в выражения в виде (…), но в ряде диалектов используется запись \(…\). К их числу относятся диалекты GNU Emacs, sed, vi и grep.
Сохраняющие скобки идентифицируются по порядковому номеру открывающей скобки от левого края выражения, как показано на стр. 68, 70 и 85. Если в диалекте поддерживаются обратные ссылки, то на текст, совпавший с подвыражением в круглых скобках, можно ссылаться в том же регулярном выражении при помощи метасимволов \1, \2 и т. д.
Чаще всего круглые скобки применяются для извлечения данных из строки. Текст, совпавший с подвыражением в круглых скобках (для краткости – «текст, совпавший с круглыми скобками»), остается доступным после применения выражения.
Читайте книгу вдумчиво, и всё станет понятно.
ты думаешь я буду читать целую книгу ради того чтобы написать чекер на мыло?
Мне проще будет пару часов лишних погуглить да найти решение.. 2к18 год все сто раз уже обсуждалось я думаю
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Artix пишет:
ты думаешь я буду читать целую книгу ради того чтобы написать чекер на мыло?
Я думал, что вы хотите научиться строить шаблоны под любые задачи.
Artix
Отправлено: 09 Февраля, 2018 - 21:07:33
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Дек. 2017
Помог: 0 раз(а)
Строитель пишет:
Artix пишет:
ты думаешь я буду читать целую книгу ради того чтобы написать чекер на мыло?
Я думал, что вы хотите научиться строить шаблоны под любые задачи.
Нет, я учу только то что мне нужно именно в данный момент над чекер на мыло адекватный пытаюсь разобраться /^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i что тут написано половины я понимаю нет экранирования и т.д т.п а вот с подмасками впервые столкнулся и хочу разобратся в их а может они тут не правильно стоят или правильно а может еще что то, ну короче чтобы довести до ума именно это выражение, а то я знаю школьничков выложат на своих сайтах код в котором половина оказывается не правильно или не нужна вообще это в лучшем случае.. взял код с гугла это уже 100% неправильно [-_.] над заменять на [_\-\.],если бы не был заинтересован просто поставил и могли уже начаться какие то проблемы (Добавление)
/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/I
сел немного почитал и подумал а не правильней его будет так записать
[a-z0-9]+[\-_\.]?[a-z0-9]+@
Этим самым я получу Ivan.Test@ c спец символом не в начале и не в конце но у меня другой вопрос как забить общую длину {1,64} до @ ?
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Artix, а что по вашему было бы быстрее, на каждый вопрос тратить по пару часов ожидания ответов на форумах (и то, если повезёт)? Или потратить два-три дня единожды, и больше не терять время? Честно говоря, с такой вашей философией вообще не понятно, зачем вам изучать веб-разработку, ведь в гугле же всё давно написано
Artix
Отправлено: 09 Февраля, 2018 - 22:28:49
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Дек. 2017
Помог: 0 раз(а)
У меня такой вопрос если $matches не указан а просто разбить на группы данные же не будут сохранятся а просто будет по группам?
^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.