Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> regexp: текст не содержит слова 
V
    Опции темы
solenko
Дата 17.4.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Здравствуйте.
Нужно проверять текст на отсутствие в нем слова. Почему-то даже не могу представить как ниписать такой шаблон.
Например:
Код

$text = "это тестовый пример";
$pattern =''; //абсолютно не представляю как написать, но тест на слово "пример"
preg_match($pattern, $text); //должен вернуть false
$pattern = ''; //а вот тест на "example"
preg_match($pattern, $text); // должен вернуть true


Ну и, предугадывая советы...
Мне действительно нужен ИМЕННО такой regexp и я не могу пересмотреть логику приложения, т.к. это стороннее приложение, одна из функций которого принимает как параметр regexp (это функциональные тесты)


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 17.4.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 8
Всего: 401



Так?
Код

'/^(?>(?!пример).)*$/'



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
solenko
Дата 17.4.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Спасибо. Работает.
Не буду слишком нагл, если попрошу объяснить принцип?
Меня обилие знаков вопроса загоняет в тупик  smile 


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 17.4.2008, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 8
Всего: 401



(?!пример) - позиция, за которой не следует слово "пример". Соответственно, (?!пример). - любой символ, не являющийся началом слова "пример".

(?> ... ) - однократная подмаска, по идее, должно способствовать ускорению.

Общий смысл - вся строка должна состоять из символов (любого кол-ва), не являющихся началом последовательности "пример".

Правда, в моем примере никак не учитывается граница слова, фразы со словами "например" и "примерно" он тоже не пропустит...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
passer
Дата 18.12.2013, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.4.2007

Репутация: нет
Всего: нет



Здравствуйте. Спасибо за подсказку. 
Но  я все равно ничего не понял((. 

Не моглибы вы обьяснить подробнее или дать ссылку на какую нить документацию в котором обьясняется что происходит когда пишешь (?>(?!

ведь (?> не для ускорения поиска.
без этого выражения вообще не работает. 

заранее спасибо за ответ. 
PM MAIL   Вверх
_zorn_
Дата 19.12.2013, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: нет
Всего: 12



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1235 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.