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 :: Какая разница между запросами на регулярках
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
IllusionMH пишет:
lawer85, ну на первый взгляд разница в наличии +. Прочтите значения ^ $ и + http://php.net/manual/en/regexp.reference.meta.php
Значение этих символов я знаю, однако это мне не помогло разобраться в разнице результатов этих запросов, можете подробнее для особо одаренных рассказать в чем соль.
OrmaJever
Отправлено: 04 Июня, 2016 - 21:58:47
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
в первом случае ищет ОДИН символ a,b,c,d,X,Y или Z, во вором любое количество больше одного. Поэтому в первом не находит т.к. от начала до конца стоки там 4 таких символа.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
lawer85
Отправлено: 05 Июня, 2016 - 10:44:36
Частый гость
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
OrmaJever пишет:
в первом случае ищет ОДИН символ a,b,c,d,X,Y или Z, во вором любое количество больше одного. Поэтому в первом не находит т.к. от начала до конца стоки там 4 таких символа.
Спасибо большое!
lawer85
Отправлено: 08 Июня, 2016 - 21:44:06
Частый гость
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
Хотел вот еще что спросить по той же теме.
Вот есть такой шаблон поиска [[.characters.]] чем он отличается от допустим (characters)?
lawer85
Отправлено: 09 Июня, 2016 - 14:19:07
Частый гость
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Помог: 1 раз(а)
Сам вроде допетрил. Я так понимаю (characters) тут ищеться наличие одного и более символов из списка в скобках, а [[.characters.]] ищет весь набор символов как одно целое. Поправьте если не прав.
OrmaJever
Отправлено: 09 Июня, 2016 - 14:25:51
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
наоборот в квадратных скобках каждый символ сам за себя (либо диапазонами a-z), а в круглых слова целиком
[qwerty] - будет искать в строке любой из перечисленых символов (q,w,e,r,t,y)
(qwerty) - будет искать слово qwerty целиком
в кварратных скобках есть диапазоны [a-z0-9] - буквы от a до z и числа от 0 до 9, а в груглых есть "или" (qwerty|word) будет искать либо слово qwerty либо word
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Мелкий
Отправлено: 09 Июня, 2016 - 14:37:21
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Неправы. Диаметрально неправы.
(characters) - группа с запоминанием. Может быть любым регулярным выражением. Ищется всё совпадение. В конкретном примере - точное вхождение подстроки "characters"
[[.characters.]] - не припоминаю ни в PCRE ни в POSIX.
Зато, глядя на название раздела, припоминаю такое вот тут: http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]7/en/regexp[dot]html Алиасы некоторых символов. '[[.tilde.][.low-line.]]' эквивалентно выражению '[~_]', обычная символьная маска, совпадает с любым символом из набора.
----- PostgreSQL DBA
lawer85
Отправлено: 09 Июня, 2016 - 15:13:12
Частый гость
Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013
Там же сказано что если последовательность сравнения включает в себя элемент сравнения ch, то регулярное выражение [[.ch.]]*c устанавливает соответствие с первыми пятью символами выражения chchcc.
Поэтому я и сделал вывод что ищется запись целиком
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.