Руководство по регулярным выражениям (Regex): различия между версиями
imported>Tizer7 (Полностью удалено содержимое страницы) |
imported>Tizer7 Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{wip | |||
|assign = Tizer7}} | |||
Regex (сокр. Regular expressions - Регулярные выражения) - это способ поиска подтекста в тексте. Он позволит вам искать более сложные выражения и даст вам больше свободы в выборе того, что выделить. Однако он немного сложен для полного понимания за один раз. Смотрите в Примерах несколько простых в использовании строк regex. По умолчанию в игре regex нечувствителен к регистру. | |||
Полезным инструментом для тестирования вашей regex-строки является [https://regex101.com/ '''этот сайт.'''] | |||
==Настройка== | |||
Чтобы открыть окно настроек Regex нажмите шестеренку в окне чата. И в появившемся списке кликните '''highlight string.''' | |||
[[Файл:Regex1.png|безрамки|399x399пкс]] | |||
Игра предоставляет вам два способа использования системы регулярных выражений. | |||
===Простой способ=== | |||
[[Файл:Regex2.png|мини|591x591пкс|Пример простого ввода]] | |||
Убедитесь, что чекбокс '''Enable Regex''' выключен. И просто вводите, в одно из полей, через пробел, желаемые слова, которые хотите выделить в чате. Этот способ наиболее понятный и элементарный. Но имеет недостатки. Например введя слово '''маг,''' он будет выделять часть слова '''<mark>Маг</mark>омед''' и любых других слов содержащих указанную последовательность букв. А также чувствителен к орфографическим ошибкам. Если вы зададите для выделения слово '''детектив,''' а в чате будет написано '''декектив,''' то оно выделено не будет. Если вам это не по душе, то используйте регулярные выражения ниже. | |||
===Сложный способ=== | |||
Сложный способ подразумевает использование синтаксиса регулярных выражений. Все доступные регулярные выражения представлены в справочнике [https://www.byond.com/docs/ref/#/{notes}/regex '''BYOND Regex'''] | |||
Ниже будут приведены полезные для игры примеры. | |||
'''в[^ ]+п[^ ]+р''' - хорошее регулярное выражение для выделения слова '''вампир.''' | |||
Разберём это выражение подробнее: | |||
'''[^ ]''' - выражение которое ищет любой символ исключая пробел | |||
'''+''' - ищет любое количество символов согласно предыдущему выражению. В данном случае это значит, что между символами '''В''' и '''П''' может быть любое количество, любых символов исключая пробелы. | |||
Фактически для данное выражение можно представить так: '''в*п*р''' где, '''*''' - это любые символы (кроме пробела), в любом количестве. | |||
[[Файл:Regex3.png|безрамки|589x589пкс]] | |||
'''[^ ]+н[^ ]+к[^ ]+д''' - выражение для слова '''генокрад.''' | |||
==Примеры== | |||
{| 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 синтаксис | |||
| style="width: 150pt; center;" |Пример regex | |||
| style="width: 150pt; center;" |Пример вывода | |||
|- | |||
!Выделите множество подтекстов, которые начинаются с заданного текста | |||
|\b(word1<nowiki>|</nowiki>word2) | |||
|<nowiki>\b(Привет|генокрад)</nowiki> | |||
|Привет прекрасным <mark>мир</mark>ам! ппривет | |||
|- | |||
!Выделите несколько подтекстов, которые должны полностью соответствовать заданному тексту | |||
|\b(word1<nowiki>|</nowiki>word2)\b | |||
|\b(hello<nowiki>|</nowiki>world)\b | |||
|<mark>hello</mark> beautiful worlds! hhello | |||
|- | |||
!Выделите слово с произвольным (не нулевым) количеством символов в одном месте | |||
|word+ | |||
|ca+ptain | |||
|<mark>Caaaaaaaaaaaptain</mark>! <mark>captain</mark> nukies onboard! | |||
[[Category:Guides]] | |||
|} |
Версия от 12:01, 30 ноября 2021
Tizer7
Regex (сокр. Regular expressions - Регулярные выражения) - это способ поиска подтекста в тексте. Он позволит вам искать более сложные выражения и даст вам больше свободы в выборе того, что выделить. Однако он немного сложен для полного понимания за один раз. Смотрите в Примерах несколько простых в использовании строк regex. По умолчанию в игре regex нечувствителен к регистру.
Полезным инструментом для тестирования вашей regex-строки является этот сайт.
Настройка
Чтобы открыть окно настроек Regex нажмите шестеренку в окне чата. И в появившемся списке кликните highlight string.
Игра предоставляет вам два способа использования системы регулярных выражений.
Простой способ
Убедитесь, что чекбокс Enable Regex выключен. И просто вводите, в одно из полей, через пробел, желаемые слова, которые хотите выделить в чате. Этот способ наиболее понятный и элементарный. Но имеет недостатки. Например введя слово маг, он будет выделять часть слова Магомед и любых других слов содержащих указанную последовательность букв. А также чувствителен к орфографическим ошибкам. Если вы зададите для выделения слово детектив, а в чате будет написано декектив, то оно выделено не будет. Если вам это не по душе, то используйте регулярные выражения ниже.
Сложный способ
Сложный способ подразумевает использование синтаксиса регулярных выражений. Все доступные регулярные выражения представлены в справочнике BYOND Regex
Ниже будут приведены полезные для игры примеры.
в[^ ]+п[^ ]+р - хорошее регулярное выражение для выделения слова вампир.
Разберём это выражение подробнее:
[^ ] - выражение которое ищет любой символ исключая пробел
+ - ищет любое количество символов согласно предыдущему выражению. В данном случае это значит, что между символами В и П может быть любое количество, любых символов исключая пробелы.
Фактически для данное выражение можно представить так: в*п*р где, * - это любые символы (кроме пробела), в любом количестве.
[^ ]+н[^ ]+к[^ ]+д - выражение для слова генокрад.
Примеры
Описание | 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! |