Руководство по регулярным выражениям (Regex): различия между версиями
imported>Tizer7 Нет описания правки |
Aylong (обсуждение | вклад) мНет описания правки |
||
(не показано 29 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
{{Needsrevision|reason = Мы уже давно используем ТГчат, в нём регулярки работают немного иначе}} | |||
== | Regex (сокр. от Regular expressions - Регулярные выражения) - это способ поиска подтекста в тексте. Он позволит вам искать более сложные выражения и даст вам больше свободы в выборе того, что выделить. Однако он немного сложен для полного понимания за один раз. Смотрите ниже примеры использования строк regex. По умолчанию в игре Regex нечувствителен к регистру. | ||
Полезным инструментом для тестирования вашей regex-строки является [https://regex101.com/ '''этот сайт.'''] | |||
==Настройка== | |||
Чтобы открыть окно настроек Regex нажмите шестеренку в окне чата. И в появившемся списке кликните <code>Highlight string</code>'''.''' | |||
[[Файл:Regex1.png|без|обрамить|Как добраться до Regex]] | |||
Игра предоставляет вам два способа использования системы регулярных выражений. | |||
===Простой способ=== | |||
[[Файл:Regex2.png|мини|591x591пкс|Пример простого ввода]] | |||
== | Убедитесь, что чекбокс <code>Enable Regex</code> выключен. И просто вводите, в одно из полей, через пробел, желаемые слова, которые хотите выделить в чате. Этот способ наиболее элементарный. Но имеет недостатки. | ||
# | |||
Существует непреодолимый недостаток системы Regex, на текущий момент, это выделение части букв из других слов. Например введя слово '''маг,''' он будет выделять часть слова '''<mark>Маг</mark>омед, бу<mark>маг</mark>а''' и любых других слов содержащих указанную последовательность букв. А также чувствителен к орфографическим ошибкам. Если вы зададите для выделения слово '''детектив,''' а в чате будет написано '''декектив,''' то оно выделено не будет. | |||
Отчасти, справиться с этими недостатками можно используя регулярные выражения ниже. | |||
== | |||
===Сложный способ=== | |||
Сложный способ подразумевает использование синтаксиса регулярных выражений. Все доступные регулярные выражения представлены в справочнике [https://www.byond.com/docs/ref/#/{notes}/regex '''BYOND Regex''']. Также вы можете посмотреть на [https://www.youtube.com/results?search_query=regex '''YouTube руководства по Regex'''], что существенно упростит понимание нижеописанного. | |||
Ниже будут приведены полезные для игры примеры. | |||
'''в[^ ]+п[^ ]+р''' - хорошее регулярное выражение для выделения слова '''вампир.''' | |||
Разберём это выражение подробнее: | |||
'''[^ ]''' - выражение которое ищет любой символ исключая пробел | |||
'''+''' - ищет любое количество символов согласно предыдущему выражению. В данном случае это значит, что между символами '''В''' и '''П''' может быть любое количество, любых символов исключая пробелы. | |||
Фактически для данное выражение можно представить так: '''в*п*р''' где, * - это любые символы (кроме пробела), в любом количестве. | |||
[[Файл:Regex3.png|без|обрамить|Пример работы Regex рассчитанный на слово "вампир"]] | |||
==== Комбинация Regex выражений ==== | |||
Если вы решите создать много Regex выражений для названий антагонистов и их сленг-синонимов, то строк представленных в окне Regex вам не хватит. Для решения указанной проблемы можно комбинировать множество выражений в одной строке: | |||
Пример комбинирования для слов '''вампир''' и '''генокрад:''' (в[^ ]+п[^ ]+р|[^ ]+н[^ ]+к[^ ]+д) | |||
==== Таблица готовых Regex выражений ==== | |||
{| class="wikitable" style="text-align: center;" | |||
|+Таблица с регулярными выражениями для наиболее часто употребляемых слов | |||
(будет пополняться, возможно) | |||
|- style="font-weight: bold; text-align: center; background-color: chocolate; color: white;" | |||
| style="width: 250pt; center;" |Слово для выделения | |||
| style="width: 150pt; center;" |Regex синтакс | |||
|- | |||
!'''генокрад''' | |||
|[^ ]+н[^ ]+к[^ ]+д | |||
|- | |||
!'''вампир''' | |||
|в[^ ]+п[^ ]+р | |||
|} | |||
===Настройка цвета выделения=== | |||
В нижней части окна предоставлена возможность изменить цвет выделения слов. Ввод цвета производится в [[google:цвет+шестнадцатеричный+код|'''шестнадцатеричной системе (HEX)''']]. Цвета можно подобрать по этой [[ColorPalette|'''ссылке''']]. | |||
[[Категория:Руководства]] |
Текущая версия от 03:18, 5 июня 2024
Причина: Мы уже давно используем ТГчат, в нём регулярки работают немного иначе
Regex (сокр. от Regular expressions - Регулярные выражения) - это способ поиска подтекста в тексте. Он позволит вам искать более сложные выражения и даст вам больше свободы в выборе того, что выделить. Однако он немного сложен для полного понимания за один раз. Смотрите ниже примеры использования строк regex. По умолчанию в игре Regex нечувствителен к регистру.
Полезным инструментом для тестирования вашей regex-строки является этот сайт.
Настройка
Чтобы открыть окно настроек Regex нажмите шестеренку в окне чата. И в появившемся списке кликните Highlight string
.
Игра предоставляет вам два способа использования системы регулярных выражений.
Простой способ
Убедитесь, что чекбокс Enable Regex
выключен. И просто вводите, в одно из полей, через пробел, желаемые слова, которые хотите выделить в чате. Этот способ наиболее элементарный. Но имеет недостатки.
Существует непреодолимый недостаток системы Regex, на текущий момент, это выделение части букв из других слов. Например введя слово маг, он будет выделять часть слова Магомед, бумага и любых других слов содержащих указанную последовательность букв. А также чувствителен к орфографическим ошибкам. Если вы зададите для выделения слово детектив, а в чате будет написано декектив, то оно выделено не будет.
Отчасти, справиться с этими недостатками можно используя регулярные выражения ниже.
Сложный способ
Сложный способ подразумевает использование синтаксиса регулярных выражений. Все доступные регулярные выражения представлены в справочнике BYOND Regex. Также вы можете посмотреть на YouTube руководства по Regex, что существенно упростит понимание нижеописанного.
Ниже будут приведены полезные для игры примеры.
в[^ ]+п[^ ]+р - хорошее регулярное выражение для выделения слова вампир.
Разберём это выражение подробнее:
[^ ] - выражение которое ищет любой символ исключая пробел
+ - ищет любое количество символов согласно предыдущему выражению. В данном случае это значит, что между символами В и П может быть любое количество, любых символов исключая пробелы.
Фактически для данное выражение можно представить так: в*п*р где, * - это любые символы (кроме пробела), в любом количестве.
Комбинация Regex выражений
Если вы решите создать много Regex выражений для названий антагонистов и их сленг-синонимов, то строк представленных в окне Regex вам не хватит. Для решения указанной проблемы можно комбинировать множество выражений в одной строке:
Пример комбинирования для слов вампир и генокрад: (в[^ ]+п[^ ]+р|[^ ]+н[^ ]+к[^ ]+д)
Таблица готовых Regex выражений
Слово для выделения | Regex синтакс |
генокрад | [^ ]+н[^ ]+к[^ ]+д |
---|---|
вампир | в[^ ]+п[^ ]+р |
Настройка цвета выделения
В нижней части окна предоставлена возможность изменить цвет выделения слов. Ввод цвета производится в шестнадцатеричной системе (HEX). Цвета можно подобрать по этой ссылке.