Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [CHAT] MessageFilter - фильтруем базар, рынок и вокзал! [BukkitDev]

Понимаю, что возможно некропощу - но может кто подсказать: Как в этом плагине захватывать \w+ через регулярки, но при этом не захватывать то что идёт после нужного слова и, как бы, тоже учитывается в качестве слова? К примеру, есть у меня сообщение - "[Игрок Steve был телепортирован игроком Herobrine]", и хочу я его изменить на "Телепортировали игрока Herobrine!" но в итоге получается "Телепортировали игрока Herobrine]!" как не захватывать эту злополучную "]"?
Пробовал через [\w\-]+(?=]), но тогда вообще не пускает.
 
Понимаю, что возможно некропощу - но может кто подсказать: Как в этом плагине захватывать \w+ через регулярки, но при этом не захватывать то что идёт после нужного слова и, как бы, тоже учитывается в качестве слова? К примеру, есть у меня сообщение - "[Игрок Steve был телепортирован игроком Herobrine]", и хочу я его изменить на "Телепортировали игрока Herobrine!" но в итоге получается "Телепортировали игрока Herobrine]!" как не захватывать эту злополучную "]"?
Пробовал через [\w\-]+(?=]), но тогда вообще не пускает.
А какую регулярку ты сейчас используешь?
 
А какую регулярку ты сейчас используешь?
Извиняюсь, забыл упомянуть - если добавить в конце "\]", то будет пускать, но весь смысл регулярки теряется - исключить символ "]". Регулярка [\w\-]+(?=]) с \] на конце пишет тоже самое, что и просто \w+\] (Телепортировали игрока Herobrine]!).
 
Извиняюсь, забыл упомянуть - если добавить в конце "\]", то будет пускать, но весь смысл регулярки теряется - исключить символ "]". Регулярка [\w\-]+(?=]) с \] на конце пишет тоже самое, что и просто \w+\] (Телепортировали игрока Herobrine]!).
Боюсь, проблема в том, что регулярное выражение служит лишь в качестве проверки на соответствие, а %wordN% в свою очередь просто берет все куски текста, разделяя те пробелом. Таким образом В тексте "Привет, мой дорогуша!" %word1% = "Привет,", %word2% = "мой", %word3% = "дорогуша!" - то есть все знаки вокруг слов сохранились.
 

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

Назад
Верх