Как правильно записать в "Выполнить код" регулярное выражение?



  • Как правильно записать в "Выполнить код" аналог этого с флагом gmi для всех групп? И как потом обратиться к извлеченному тексту и к тексту каждой группы?
    0_1539811060349_6d5ee19f-f239-4ce6-be1f-6000f5aba7a0-image.png


  • Banned

    @senerg said in Как правильно записать в "Выполнить код" регулярное выражение?:

    gmi

    А зачем? И что вы такой красивой извлекаете?
    alt text



  • @senerg
    Я не очень силен в js, но на Вашем месте гуглил бы "регулярные выражения js".
    Обратиться к результатам очень просто. В js Вы можете создавать переменные и присваивать им значения также, как они выглядят в bas. Например:

    [[VAR1]] = 13;
    

    Эта переменная появится в общем списке и ее можно будет использовать также, как и все остальные.





  • Решал такую проблему дважды. Вот что вышло:
    https://community.bablosoft.com/topic/5132/не-подставляется-переменная-в-регулярку/12



  • Спасибо. Разобрался.
    Есть какие-то особенности работы "Выполнить код"? Где-то читал, что нельзя переменные маленькими буквами писать, правда, нет, есть ли еще что-то? Обязательно ли переменные в скобки [[URL]] вставлять?


  • Banned

    @senerg да можно, это просто для вас у вас может получится например так [[New_Variable]] или так [[new_variable]] Или даже так [[NeW_VaRiAbLe]] это разные переменные, а вы увидите в чекбоксе выбора три переменных ОДИНАКОВЫХ названием. И они есть))
    Необязательно капс и VAR_NEW_VARIABLE даст тот же эффект


  • administrators

    @senerg

    Есть какие-то особенности работы "Выполнить код"?

    Смотря что там собираешься использовать :D при работе с api BAS'a есть уйма нюансов, а если использовать простой js, то всё можно.

    Кроме, пожалуй, плюшек ECMAScript 6:
    @support said in javascript engine?:

    Используется реализация, которая поддерживает стандарт ECMA-262.


    переменные маленькими буквами писать

    Можно, но вызывать их надо будет точно так же, как и объявляли, так как имена чувствительны к регистру
    0_1539855744789_c1da80be-6822-4d60-bac1-45345b38e409-изображение.png
    Вот тестовый скрипт


    Обязательно ли переменные в скобки [[URL]] вставлять?

    Объявлять и использовать можно как угодно:
    0_1539855980052_f510ef83-5db7-4959-9137-19594ff2bcc0-изображение.png

    Но в диспетчере переменных будет видны переменные только формата [[VARIABLE]] и VAR_VARIABLE
    0_1539856109236_70db5d22-191e-4495-ab70-6c5301a8657f-изображение.png


  • administrators

    @allive said in Как правильно записать в "Выполнить код" регулярное выражение?:

    @senerg да можно, это просто для вас у вас может получится например так [[New_Variable]] или так [[new_variable]] Или даже так [[NeW_VaRiAbLe]] это разные переменные, а вы увидите в чекбоксе выбора три переменных ОДИНАКОВЫХ названием. И они есть))

    Ни одна из [[New_Variable]], [[new_variable]], [[NeW_VaRiAbLe]] не отобразятся в диспетчере переменных.


  • Banned

    @fox Бхых правда? 0_1539856722614_test.xml

    А понял что ты имел в виду. Ну да внизу их не будет. Ну так мы и ведем речь о выполнить код. Мы разными словами объяснили одно.

    В тему заметил такую бяку если переменную через объяву и регистр например не всесь капсовый ну переменная такая. сделаешь потом ее в выполнить код, но не через указание, а ввод руками бывает их становится 2 в чекбоксе какая какая хз))



  • @fox said in Как правильно записать в "Выполнить код" регулярное выражение?:

    Но в диспетчере переменных будет видны переменные только формата [[VARIABLE]] и VAR_VARIABLE

    Ну это существенный минус, потом придется вручную их прописывать и помнить где какая буква капслоком.


  • Banned

    @senerg Если вы добрались до объявлений переменных в выполнить код и делаете это, подразумевается что вы немного владеете темой и наверное помните что и как там в вашем проекте?) Конечно минус, но бас это не зенка или вы хотите что бы интерпритатор все делал за вас? Это ангар.
    зы вы еще до "соплей" node js не добрались ох предполагаю вопросов буит. бгг



  • Как будет отличаться запись, если нужно вывести все, что в скобках или само искомое выражение в список?

    var result = [[URL]].match( /"https.www.(*?)"/ig );
    [[URL_LIST]] = result;
    

  • Banned

    @senerg Пока вы не умеете не заморачивайтесь. Ознакомьтесь с тем что вам дал @Denis_krsk. Что вы все хотите в выполнить код все засунуть? Типа как модные зенковцы все на коде? сатрите как иа умею. ахахаха
    Есть же регулярные выражения делайте пока через них. составлять ДЛЯ БАСА нуна тут Regexp если вам очень уж хочется в код посмотрите в скрипте как выглядит поиск регуляркой через экшн. и вставляйте. Предупреждаю вы сильно удивитесь. Там все не так как кажется))

     VAR_SCAN_RESULT_LIST = native("regexp", "scan", JSON.stringify({text: VAR_SAVED_CONTENT,regexp:"/\u0022https.www.(*?)\u0022/ig"}))
          if(VAR_SCAN_RESULT_LIST.length == 0)
          VAR_SCAN_RESULT_LIST = []
     else
          VAR_SCAN_RESULT_LIST = JSON.parse(VAR_SCAN_RESULT_LIST)