@Freethinker said in Как добавить */ (звездочка слэш) в переменную?:
Хмм, сам код отрабатывает в BAS также корректно, однако если добавить действие "Установить переменную", то это вызовет проблему. Надо посмотреть по внимательнее
@Fox said in Как пользоваться регулярками в басе?:
Конструктор в моём понимании, это любая программа, в которой вы указываете какие данные меняются, а какие остаются и она выдаёт вам готовую регулярку.
Нет, я открыл regex101.com и написал все что мне надо: слово, которое не окружено текстом, указанным в квадратных скобочках. Вроде ничего супер сложного, самая простая регулярка.

Как такое в БАС повторить?
@Mic said in Как пользоваться регулярками в басе?:
Нет, я открыл regex101.com и написал все что мне надо: слово, которое не окружено текстом, указанным в квадратных скобочках. Вроде ничего супер сложного, самая простая регулярка.
Это из если не ошибся из версии 2018 года и не поддерживается движком js который есть в БАС и даже версией node.js, которая в него встроена.
Но ваше выражение прекрасно работает через встроенный кубик
Нашел альтернативу, которая в коде работает:
[[A]] = 'notreplaceword wordnotreplace, replace: Word 3wOrd worD4 word 1word word2 3Word WORD4 word,5worD worD6; $word word? WorD';
log([[A]]);
log([[A]].replace(/(^|[^a-z])word(?![a-z])/gi, "$1w'ord"));
notreplaceword wordnotreplace, replace: Word 3wOrd worD4 word 1word word2 3Word WORD4 word,5worD worD6; $word word? WorD
notreplaceword wordnotreplace, replace: w'ord 3w'ord w'ord4 w'ord 1w'ord w'ord2 3w'ord w'ord4 w'ord,5w'ord w'ord6; $w'ord w'ord? w'ord
Но все равно интересно, неужели кубик Заменить строку не поддерживает case insensitive? Пересмотрел весь форум, нашел слова разработчика про этот кубик, но там ничего не сказано про case insensitive.
@support said in Не работает регулярка в БАС:
@Gang Обновил модуль регулярных выражений.
Перевел движок с js на с++, это означает, что теперь регулярки поддерживают lookbehind, unicodeproperties и многое другое.
Если говорить просто, то регулярные выражения теперь можно копировать с другого софта без доработки.Действие Первое вхождение теперь может получать все группы в разные переменные. Нужно просто записать переменные через запятую(как в действии Парсить строку).
Действие Извлечь все данные может получать конкретную группу, для этого ей нужно присвоить имя result.
Появилось действие Заменить строку через регулярки.
К каждому действию добавлены примеры и описание.
Новую версию модуля можно попробовать скачав по ссылке RegularExpression.zip или подождав новую версию БАС.
@Mic said in Как пользоваться регулярками в басе?:
Не понял только как в кубике ключи gmi указывать? Особенно нужен i, чтобы для заглавных тоже работало.
Флаг "g" по всей видимости и так включен, а "i" видимо не как. Можно или переписать на альтернативный вариант как у вас выше. Или накостылить вроде такого
(?<![a-z])(word|Word|WORD)(?![a-z])
@Mic said in Как пользоваться регулярками в басе?:
ну не верю я, что про i могли забыть.
Да легко xD
(?i) в начале выражения включает case insensitive
@Vituskosoy said in Как пользоваться регулярками в басе?:
(?i) в начале выражения включает case insensitive
Добавьте эту строчку в подсказку внутри кубика.