Не работает регулярка в БАС
-
Очень часто сталкиваюсь с такой ситуацией что регулярные выражения хорошо работающие в Зеннопостере, не работают в БАС. Обычно как-то удавалось решить проблему. Но на этот раз уже выбился из сил. Помогите кто может!)
Задача следующая. Есть текст где встречаются доменные имена. Так вот, их нужно спарсить в список. Использую такую регулярку
/([0-9a-z-]+.)(net|com|org|info|biz|mobi)/
Но ничего не парсит, выдает ошибку SyntaxError: Parse error Номер строки:2 Во время выполнения скрипта бла бла бла...
Тестовый шаблон прилагаю 0_1511714282231_test_pars_domains.rar
-
тестовый не смотрел, но проверь так:
[\da-z\-]+\.(net|com|org|info|biz|mobi)
регулярки с зено и не должны работать в БАС, грубо говоря. Потому что там .NET , а тут JS
-
Тип string нужно указать для строки с регуляркой. Еще возьмите все выражение в скобки, чтобы доменная зона не обрезалась
-
@out said in Не работает регулярка в БАС:
тестовый не смотрел, но проверь так:
[\da-z\-]+\.(net|com|org|info|biz|mobi)
регулярки с зено и не должны работать в БАС, грубо говоря. Потому что там .NET , а тут JS
Да в курсе. Немного шаманил и обычно помагало)
@noask said in Не работает регулярка в БАС:
Тип string нужно указать для строки с регуляркой. Еще возьмите все выражение в скобки, чтобы доменная зона не обрезалась
Спасибо! Заработало! Действительно STRING ставишь и все в скобки и работает) По скобкам отдельная благодарность, сам бы не допер))
-
@Gang > SyntaxError: Parse error Номер строки:2 Во время выполнения скрипта бла бла бла...
После обновления БАС выдает только ид действия, которое вызвало ошибку
-
@Gang Обновил модуль регулярных выражений.
Перевел движок с js на с++, это означает, что теперь регулярки поддерживают lookbehind, unicodeproperties и многое другое.
Если говорить просто, то регулярные выражения теперь можно копировать с другого софта без доработки.Действие Первое вхождение теперь может получать все группы в разные переменные. Нужно просто записать переменные через запятую(как в действии Парсить строку).
Действие Извлечь все данные может получать конкретную группу, для этого ей нужно присвоить имя result.
Появилось действие Заменить строку через регулярки.
К каждому действию добавлены примеры и описание.
Новую версию модуля можно попробовать скачав по ссылке RegularExpression.zip или подождав новую версию БАС.
-
@support Спасибо огромное за регулярки! Разные группы в разные переменные это клёво, а то раньше через RegExp.$n приходилось.. Да и ньюфагам будет проще.
-
Спасибо! Намаялся я с regexp на базе js это просто капец. Теперь красота, сделал в тестере Зенки, копирнул и работает)
-
@Gang так а чем конструктор в самом BAS не катит? Ну точнее ссылка на сайт, где можно замутить выражение. Всегда через него делаю, проблем не позникало
-
@Cruzel, с зенковским он пока в сравнение по удобству не идет.
-
@Antonio said in Не работает регулярка в БАС:
@Cruzel, с зенковским он пока в сравнение по удобству не идет.
в точку