PDA

Просмотр полной версии : логика мат фильтра на сервере


SeregaZ
04.01.2014, 05:02
есть на сервере файл-фильтр матов, который сейчас настроен как попало и ловит что надо и не надо.
block_say:мат

проглядев список вроде как из примеров ясно что:
& - условие И
| - условие ИЛИ
? - одиночный символ
* - любое сочетание символов
! - вроде как условие НЕ

вот собственно вопрос - как правильно использовать это самое НЕ? предположил что конструкция должна быть что-то типа:

block_say:(мат|мат2)!(словоисключение|словоисключе ние2)

однако что-то хрен там сдва... продолжает срабатывать на словах исключениях. может там какие-то нюансы использования ! имеются? просветите кто знает :) как правильно написать следующее выражение:

block_say:(((Х|х|X|x|H|h)(У|у|Y|y|U|u)(И|и|Й|й|Y|y |I|i|Я|я|Е|е|E|e|Ё|ё|Ю|ю|Л|л))!((С|с)траху(й|ю)|СТ РАХУ(Й|Ю)|(псих|ПСИХ)|хула|(Х|х)улио|(Х|х)улео|(ХУ Л(И|Е)Г|хул(и|е)г)))