Содержание
Документация › Основы

Регулярные выражения (RegEx) — просто

Что такое регулярное выражение, где FlowBotCommander его предлагает (заголовок окна, Проверить текст) и десять символов, которые действительно нужны — с примерами из игр.

Обновлено: 2026-09-12

В двух местах FlowBotCommander предлагает тип совпадения Регулярное выражение. Оно вам не обязательно — «содержит», «начинается с» и «заканчивается на» почти всегда достаточно. Но когда текст постоянно меняется (числа, время, счётчики вкладок в заголовке окна) или OCR путает буквы, небольшой шаблон выручает. Эта статья объясняет ровно столько RegEx, сколько для этого нужно.

Что такое регулярное выражение?

Регулярное выражение (коротко RegEx) — это шаблон, описывающий, как может выглядеть текст, вместо фиксированного слова. «Содержит Золото» подходит только к слову Золото. Шаблон Золото: \d+ подходит к «Золото: 5», «Золото: 120», «Золото: 99999» — любому числу после «Золото: ».

Обычные буквы и цифры в шаблоне обозначают сами себя. Значение имеют лишь несколько специальных символов:

Символ означает Пример подходит к
. любой один символ L.vel Level, Lövel, L3vel
\d одна цифра 0–9 Lv \d Lv 1, Lv 7
+ предыдущее один или несколько раз \d+ 5, 12, 99999
* предыдущее ноль или несколько раз Золото *\d+ Золото5, Золото 5, Золото 5
? предыдущее необязательно (0 или 1 раз) Lv\.? \d+ Lv 3, Lv. 3
^ начало текста ^Победа «Победа!» — но не «Нет победы»
$ конец текста Editor$ «Doc – Editor»
[abc] один из этих символов Lv[. :] Lv. / Lv: / Lv␣
[0-9] один символ из диапазона [1-3] 1, 2 или 3
a|b a или b Победа|Victory Победа или Victory
\. настоящая точка (а не «любой символ») 1\.5 1.5 — но не 1x5

Спецсимволы, которые нужны буквально (. + * ? ( ) [ ] | $ ^), получают обратную косую черту: \. \+ \(. Регистр в FlowBotCommander не важен — победа подходит и к «ПОБЕДА».

Где RegEx в FlowBotCommander

1. Заголовок окна — тип совпадения «Регулярное выражение»

В Старт (глобальный тип совпадения), Переключить источник изображения, Окно на передний план, Переместить/Изменить размер окна и узлах оверлея вы выбираете, как сравнивается заголовок окна (см. Окно и источник изображения). Обычно хватает содержит. RegEx нужен, когда два окна называются похоже:

Ситуация Шаблон Пояснение
Только вкладка браузера с игрой, а не вкладка с вики ^Clicker Heroes заголовок должен начинаться с «Clicker Heroes»
Заголовок чередуется «Игра (1)», «Игра (2)» … ^Игра \(\d+\)$ скобки буквально, между ними число
Ровно «Editor» в конце, что бы ни было перед Editor$ заголовок заканчивается на Editor
Английский или немецкий клиент Inventory|Inventar один из двух

2. Проверить текст — режим «Регулярное выражение»

Узел условия Проверить текст сравнивает текст (обычно из Чтение текста (OCR)) с вашим шаблоном и на выходе Результат даёт истину или ложь — её подключают к Ветвлению (см. Циклы и условия). Примеры:

Хотите узнать … Шаблон подходит, например, к
Есть ли в тексте хоть какое-то число? \d+ «Золото 250»
Число от 100 (три цифры и больше)? \d{3,} 100, 2500 — но не 99
Бой окончен — на любом языке? Победа|Victory|Поражение|Defeat «VICTORY!»
Идёт обратный отсчёт (мм:сс)? \d\d:\d\d «02:59»
Есть «Level» плюс число, хотя OCR съедает точку? L[ev]*\.? *\d+ «Lv. 5», «Lvl 5», «Level 5»

Для чисел RegEx нужен редко: для «Золото ≥ 50» лучше взять Число из текста (вытаскивает первое число из текста) и затем Сравнить число — это читается без шаблона. RegEx окупается для слов, форматов и «любого из».

Ловим ошибки OCR

Распознавание текста охотно читает «Lv. 1» как «L"; 1» или «0» как «O» (см. Чтение текста (OCR)). Вместо того чтобы в десятый раз двигать область, сделайте шаблон терпимым:

  • Перепутанные буквы как набор: [O0] подходит к O и 0, [Il1] — к I, l и 1.
  • Ненадёжные символы сделать необязательными: Lv\.? ?\d+ допускает точку и пробел — или нет.
  • Проверять только надёжную часть: вместо «Готов к бою!» достаточно Готов.

Как проверить шаблон

  1. Создайте узел Проверить текст, режим Регулярное выражение, введите шаблон.
  2. На вход подключите переменную с примером текста (или сразу узел OCR).
  3. Запустите бота через F5 и посмотрите в журнал: узел пишет «Text-Prüfung ⇒ True» или «False».
  4. Стройте шаблон по шагам: сначала Золото, потом Золото \d, потом Золото \d+ — так сразу видно, какая часть не подходит.

Если не получается: неверный шаблон (например открытая скобка () заставляет узел всегда давать ложь — без сообщения об ошибке. Самые частые причины: точка без обратной косой черты (1.5 подходит и к «125»), забытый + (\d подходит только к одной цифре), пробелы в тексте, которых нет в шаблоне. В сомнениях начинайте с содержит и короткого слова — RegEx только если этого мало.

Готовы попробовать?

FlowBotCommander бесплатен для старта — без аккаунта.

Начать бесплатно