Руководство по регулярным выражениям (Regex)

Материал из SS220 Paradise Wiki (SS13)
Перейти к навигации Перейти к поиску
Cone.pngЭта страница находится на плановых ремонтных работахCone.png
Пожалуйста, согласуйте ваши правки с подрядчиком:
Wrench.png Tizer7

Regex (сокр. Regular expressions - Регулярные выражения) - это способ поиска подтекста в тексте. Он позволит вам искать более сложные выражения и даст вам больше свободы в выборе того, что выделить. Однако он немного сложен для полного понимания за один раз. Смотрите в Примерах несколько простых в использовании строк regex. По умолчанию в игре regex нечувствителен к регистру.


Полезным инструментом для тестирования вашей regex-строки является этот сайт.

Настройка

Чтобы открыть окно настроек Regex нажмите шестеренку в окне чата. И в появившемся списке кликните highlight string.

Regex1.png


Игра предоставляет вам два способа использования системы регулярных выражений.

Простой способ

Пример простого ввода


Убедитесь, что чекбокс Enable Regex выключен. И просто вводите, в одно из полей, через пробел, желаемые слова, которые хотите выделить в чате. Этот способ наиболее понятный и элементарный. Но имеет недостатки. Например введя слово маг, он будет выделять часть слова Магомед и любых других слов содержащих указанную последовательность букв. А также чувствителен к орфографическим ошибкам. Если вы зададите для выделения слово детектив, а в чате будет написано декектив, то оно выделено не будет. Если вам это не по душе, то используйте регулярные выражения ниже.

Сложный способ

Сложный способ подразумевает использование синтаксиса регулярных выражений. Все доступные регулярные выражения представлены в справочнике BYOND Regex

Ниже будут приведены полезные для игры примеры.

в[^ ]+п[^ ]+р - хорошее регулярное выражение для выделения слова вампир.

Разберём это выражение подробнее:

[^ ] - выражение которое ищет любой символ исключая пробел

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

Фактически для данное выражение можно представить так: в*п*р где, * - это любые символы (кроме пробела), в любом количестве.

Regex3.png

[^ ]+н[^ ]+к[^ ]+д - выражение для слова генокрад.

Примеры

Описание Regex синтаксис Пример regex Пример вывода
Выделите множество подтекстов, которые начинаются с заданного текста \b(word1|word2) \b(Привет|генокрад) Привет прекрасным мирам! ппривет
Выделите несколько подтекстов, которые должны полностью соответствовать заданному тексту \b(word1|word2)\b \b(hello|world)\b hello beautiful worlds! hhello
Выделите слово с произвольным (не нулевым) количеством символов в одном месте word+ ca+ptain Caaaaaaaaaaaptain! captain nukies onboard!