[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярка. Запретить слово целиком
inpost
/beer{1}[^конфета].*beer{1}/
То есть идея такова, между двумя словами beer, может быть всё что угодно, кроме слова "конфета". В данном случае перебираются буквы, а как оформить то, что нельзя писать слова целиком (но буквы по отдельности можно) между ними?



Спустя 6 минут, 32 секунды (25.11.2010 - 17:48) DedMorozzz написал(а):
#beer(?!конфета).*beer#

Спустя 49 минут, 32 секунды (25.11.2010 - 18:38) inpost написал(а):
Всё, сделал! Спасибо =)

Спустя 5 часов, 40 минут, 54 секунды (26.11.2010 - 00:19) inpost написал(а):
Вот новая проблема...

Почему то строку регулярка считывает с конца в начало! И берёт первый отрезок с конца, а не первый отрезок с начала! Можно это как-то подправить?

Или другой вопрос:

beerLALALAконфетаLALALAbeer - регулярка не будет проходить именно запрет на конфету в таком виде! Как делать, чтобы не было слова "конфета" в любом отрезке между beer ???

Спустя 39 минут, 53 секунды (26.11.2010 - 00:59) DedMorozzz написал(а):
#beer.*?(?!конфета).*?beer#u

Но лучше не искать совпадение, а искать НЕ совпадение. т.е.
!preg_match... #beer.*?конфета.*?beer#

Спустя 8 минут, 47 секунд (26.11.2010 - 01:08) inpost написал(а):
DedMorozzz
Тут preg_replace =) Для этого делаю регулярку. Спрашиваю такие вопросы, которые действительно поставили меня в тупик.
Завтра твою тему про регулярки на ирбисе почитаю =)

Так то, что ищет регулярка именно с конца, а не с начала строки, я правильно понял? И если да, то можно заставить её искать именно с начала?

Спустя 6 минут, 36 секунд (26.11.2010 - 01:14) inpost написал(а):
В таком маленьком виде всё отлично работает, а если вдруг взять длинную строку, в которой в середине встречается - получается бардак.
Чувствую сдамся я, и не реализую то, что задумал! =(

Спустя 9 часов, 16 минут, 14 секунд (26.11.2010 - 10:30) kovaldm написал(а):
DedMorozzz
В этом случае несовпадение может возникнуть из-за отсутствия одного из beerов, конфеты при этом может и не быть.


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

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