Регулярные_выражения - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 27.07.2015, 15:12   #1
Пользователь

Автор темы (Топик Стартер) Регулярные_выражения

Приветствую знатоки.
В некоторых сборках есть конфиг на маты и спам в виде
(?iu)\b(мудак|mudak|mydak)
(?iu)\b(о|при|на|по|за|не|до)?(\)\(|х)[е3и]р(ов|н|а\b)

Мб кто работал с Регулярными выражениями и может подсказать, как между буквами запретить символы и пробелы.

Пример:
P_E,D.R.I L. /A W S
Valent вне форума Ответить с цитированием
Непрочитано 27.07.2015, 15:31   #2
Аватар для Dementor
Герой

По умолчанию Re: Регулярные_выражения

Цитата:
Сообщение от Valent Посмотреть сообщение
Приветствую знатоки.
В некоторых сборках есть конфиг на маты и спам в виде
(?iu)\b(мудак|mudak|mydak)
(?iu)\b(о|при|на|по|за|не|до)?(\)\(|х)[е3и]р(ов|н|а\b)

Мб кто работал с Регулярными выражениями и может подсказать, как между буквами запретить символы и пробелы.

Пример:
P_E,D.R.I L. /A W S
Никак, забудь. Универсальная проверка выйдет тебе в очень большую нагрузку. Запрет пробелов между буквами только в матах так:

(м[ ]*у[ ]*д[ ]*а[ ]*к |итд)


Но имей ввиду, что кроме пробелов могут быть еще другие знаки, так что забудь...
Dementor вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 27.07.2015, 15:34   #3
Аватар для n3k0nation
Antihero

По умолчанию Re: Регулярные_выражения

В смысле между буквами? А как Вы предлагаете различать, например, слова от букв с пробелами?)
По примеру, Вам наоборот надо учитывать их.
Код:
?[\W\s]
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 27.07.2015, 15:35   #4
Аватар для Dementor
Герой

По умолчанию Re: Регулярные_выражения

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
В смысле между буквами? А как Вы предлагаете различать, например, слова от букв с пробелами?)
да, он не верно выразился, но смысл был понятен, что именно для слов с матами.
Dementor вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 27.07.2015, 15:57   #5
Пользователь

Автор темы (Топик Стартер) Re: Регулярные_выражения

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
В смысле между буквами? А как Вы предлагаете различать, например, слова от букв с пробелами?)
По примеру, Вам наоборот надо учитывать их.
Код:
?[\W\s]
Спамеры обычно пишет:
Переходи на Laweo w .s

Слово целиком Laweo я забил и его блочит, а такие варианты как выше с пробелами и символами нет. Можете ли для примера показать как учесть символы и пробелы.
Valent вне форума Ответить с цитированием
Непрочитано 27.07.2015, 16:02   #6
-

По умолчанию Re: Регулярные_выражения

l\W*a\W*w\W*e\W*o\W*w\W*s

Офигенный, конечно, подход
Уж лучше выкашивать эти самые \W (не буквы/цифры) и проверять, есть ли такое слово (или однокоренное) в словаре.
shegan вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 27.07.2015, 16:10   #7
Аватар для n3k0nation
Antihero

По умолчанию Re: Регулярные_выражения

Цитата:
Сообщение от Valent Посмотреть сообщение
Спамеры обычно пишет:
Переходи на Laweo w .s

Слово целиком Laweo я забил и его блочит, а такие варианты как выше с пробелами и символами нет. Можете ли для примера показать как учесть символы и пробелы.
Код:
[Ll][\W\s]*[Aa][\W\s]*[Vv][\W\s]*[Ee][\W\s]*[Oo]


Не будет корректно работать с русскими словами, а так же не защищает от подмен букв различных языков. Правится легко, пусть будет, как домашнее задание.

Добавлено через 5 минут
Цитата:
Сообщение от shegan Посмотреть сообщение
l\W*a\W*w\W*e\W*o\W*w\W*s

Офигенный, конечно, подход
Уж лучше выкашивать эти самые \W (не буквы/цифры) и проверять, есть ли такое слово (или однокоренное) в словаре.
Я почему-то не уверен, что убирание из текста "левых" символов будет быстрее регулярки (тем более, что их можно генерить автоматически, с учетом подмен и т.п., сам же видел у меня). Тем более надо будет делать механизмы разбора уже конкретно СЛОВ, т.к. отличить словосочетание от слова, в котором наставлены пробелы - очень проблематично (на этот случай надо иметь большой такой словарик обычных слов, плюс учитывать, что игроки часто пишут неграмотно, сленговую речь, транслит и т.д.).
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.

Последний раз редактировалось n3k0nation; 27.07.2015 в 16:18. Причина: Добавлено сообщение
n3k0nation вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 27.07.2015, 16:21   #8
Пользователь

Автор темы (Топик Стартер) Re: Регулярные_выражения

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Код:
[Ll][\W\s]*[Aa][\W\s]*[Vv][\W\s]*[Ee][\W\s]*[Oo]


Не будет корректно работать с русскими словами, а так же не защищает от подмен букв различных языков. Правится легко, пусть будет, как домашнее задание.

Добавлено через 5 минут


Я почему-то не уверен, что убирание из текста "левых" символов будет быстрее регулярки (тем более, что их можно генерить автоматически, с учетом подмен и т.п., сам же видел у меня). Тем более надо будет делать механизмы разбора уже конкретно СЛОВ, т.к. отличить словосочетание от слова, в котором наставлены пробелы - очень проблематично (на этот случай надо иметь большой такой словарик обычных слов, плюс учитывать, что игроки часто пишут неграмотно, сленговую речь, транслит и т.д.).
Спасибо, работает. Мне для пару серверов где админы дурачки.

Добавлено через 29 минут
Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Код:
[Ll][\W\s]*[Aa][\W\s]*[Vv][\W\s]*[Ee][\W\s]*[Oo]


Не будет корректно работать с русскими словами, а так же не защищает от подмен букв различных языков. Правится легко, пусть будет, как домашнее задание.

Добавлено через 5 минут


Я почему-то не уверен, что убирание из текста "левых" символов будет быстрее регулярки (тем более, что их можно генерить автоматически, с учетом подмен и т.п., сам же видел у меня). Тем более надо будет делать механизмы разбора уже конкретно СЛОВ, т.к. отличить словосочетание от слова, в котором наставлены пробелы - очень проблематично (на этот случай надо иметь большой такой словарик обычных слов, плюс учитывать, что игроки часто пишут неграмотно, сленговую речь, транслит и т.д.).
Домашнее задание
[Aa|Аа][\W\s]*[Vv][\W\s]*[Ee][\W\s]*[Rr][\W\s]*[Ii][\W\s]*[Aa|Аа]
Вроде так)

Последний раз редактировалось Valent; 27.07.2015 в 16:51. Причина: Добавлено сообщение
Valent вне форума Ответить с цитированием
Непрочитано 27.07.2015, 17:45   #9
Аватар для n3k0nation
Antihero

По умолчанию Re: Регулярные_выражения

Цитата:
Сообщение от Valent Посмотреть сообщение
Спасибо, работает. Мне для пару серверов где админы дурачки.

Добавлено через 29 минут

Домашнее задание
[Aa|Аа][\W\s]*[Vv][\W\s]*[Ee][\W\s]*[Rr][\W\s]*[Ii][\W\s]*[Aa|Аа]
Вроде так)
1. Можно не писать ИЛИ, если указывается рендж.
2. Из коробки \W детектирует не буквы; все языки, кроме английского не считаются за буквы
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Непрочитано 27.07.2015, 20:52   #10
Пользователь

Автор темы (Топик Стартер) Re: Регулярные_выражения

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
1. Можно не писать ИЛИ, если указывается рендж.
2. Из коробки \W детектирует не буквы; все языки, кроме английского не считаются за буквы
Просто если не делать или то без А русского veria не пойдет в блок.
Valent вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 01:40. Часовой пояс GMT +3.

Вверх