1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Фикс [CHAT] RegEx для русского мата

Тема в разделе "Неподтвержденные плагины", создана пользователем imDaniX, 28 июн 2020.

  1. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Добавил файлик russian-spaced.md, в котором регулярка поделена на слова, каждое с новой строки(не считая первую и последнюю). Она не сработает для Chatty, но её удобнее редактировать если лень разбираться в огромной строке.
    Ещё немного переместил проверки во второй половине, чтобы некоторые популярные маты обрабатывались с бОльшим приоритетом.
     
    Последнее редактирование: 25 июл 2020
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Да, действительно, всё работает. Похоже, косякнул при экранировании
     
  3. CatCoder

    CatCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    CatCoder
    Предлагаю пойти дальше: создать нейронную сеть для детекта мата. Для ее обучения просто скормим ей размеченный список матов. Может даже кто-то таким занимался, я не гуглил, но идея хорошая. :D
     
  4. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Хорошая, но все же довольно упоротая. Пускай чат и в отдельном потоке идёт, нейросеть все же не самый быстрый инструмент.. вроде... Но и регулярные выражения не 10/10... Без эксперимента не определить тащемта, но с нейросетями я не работал, потому остаётся лишь ждать явления свыше.
     
  5. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Добавил russian-transcript.txt. Сделал только среди основных матов, и не везде. Если есть пожелания - пишите, переделаю. Обновлять буду с запозданием от основной регулярки.
     
  6. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Если кому нужно под JS - убираете (?iu) и выносите их за регулярку, а-ля /регулярное выражение/iu. Далее меняете первый \b на (?<=(^|[^а-я])), последний на (?=($|[^а-я])), т.к. JS не умеет в юникод в случае с \b
     
  7. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Внезапно обнаружил, что по запросу "мат регулярка" в поисковике этот пост одним из первых показывается. По такому случаю обновил readme на гисте. Алсо, поправил нахождение пары слов в родительском падеже.
     
  8. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Таки регулярки не дешего обходятся, я бы не стал ставить на сервер с большим онлайном.
     
  9. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Согласен, однако, опять же, чат идёт своим потоком, что отчасти нивелирует вопрос производительности... но осадочек всё равно остается.
    С другой стороны, я редко вижу адекватные реализации фильтра, которые выходят за обычные словари и регулярки, но и те обычно жуют нормальные слова, вроде местного "употре****ь". Надо бы попробовать написать что-нибудь...
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Но это не мешает положить сервер чатом. Да и учить цензуре должны родители, а не админы серверов. Это целиком и полностью на их совести, если они не контролируют своих детей.
     
  11. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Разве ж? Если кто и соберет подобную атаку, регулярка будет лишь одним из факторов, но никак не причиной - само присутствие толпы игроков на сервере будет бить больше.
     
  12. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну и в чат они часто пишут да.
     
  13. MaskinSin

    MaskinSin Активный участник

    Баллы:
    61
    Имя в Minecraft:
    MaskinSin
    А для какого это плагина!
     
  14. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Для любого, где есть поддержка регулярных выражений. В первом посте упомянуты те плагины, в которых она точно есть.
     
  15. Автор темы
    imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Забыл уже про эту тему, но регулярки обновляю периодически. Там нынче добавились варианты под JS и Python. Вариант с транскриптом в итоге был убран, ибо заниматься им стало слишком тяжело. Всё ещё думаю заделать скрипт для автоматизации конвертации, но пока не до этого.
     

Поделиться этой страницей