Помогите с регуляркой



  • @Fox said in Помогите с регуляркой:

    Регулярку проще сделать универсальную, чтобы всё забирало и сразу.

    каким образом делается?



  • @Fox said in Помогите с регуляркой:

    Для применения регулярки к списку, можно использовать функцию:
    [[NEW_LIST]] = [[PIC_URL_TO_DOWNLOAD]].map(function(el){
    return el.replace(/\/g, "/")
    })

    спасибо большое помог получилось сделать еще один вопрос

    @Fox said in Помогите с регуляркой:

    Регулярку проще сделать универсальную, чтобы всё забирало и сразу.

    каким образом делается универсальная?



  • @GamiD

    вот сам проект

    Где проект?

    я этот список сделал с помощью notepad++ с такими регулировками
    но в bas Не работает почему та

    Основная причина, почему регулярка где то работает, а в BAS не работает, в разном виде данных в BAS'e, строка, массив, объект..
    Даже строка с переносом строки уже может не дать нужный результат:
    0_1518278141842_forum1.png
    Регулярка верная, поиск цифр с жадным алгоритмом по идее должен взять все цифры, но нет. Перенос строки берёт только \s - пробел.
    0_1518278454415_forum2.png



  • @Fox я удалил потому что получилось сделать спасибо еще раз за совет



  • @Fox
    как сделать чтоб из списка выводил текст под регулярное выражение? ты делал чтоб удалял из списка и очень помог этим а вот как выводить не знаю на басе ничего не выводить из списка только если полностью знаешь строку можно вывести

    эти коды если добавить в тему Лайфхаки многим людям помогут

    пробовал с "Первое вхождение" из списка не выводить

    Вот так делал

    [[PER3]] = [[TEST_NOMER_AVTOSMS]].map(function(el){
        return el.match( /.*777.*/i );
    })
    

    из списка выводит но еще выводит в переменную все строки только в других написано null

    2_1518374255915_3.JPG 1_1518374255913_2.JPG 0_1518374255908_1.JPG



  • @GamiD Тут наверное проще так. Функция map для модификации... И регулярку поправил.

    var arrIn=[[TEST_NOMER_AVTOSMS]];
    var arrOut=[];
    arrIn.forEach(function(str,i, arrIn) {
    str=str.match(/777\d*/);
    if (str){arrOut.push(str[0])};
    });
    [[PER3]] =arrOut;


  • @Denis_krsk Спасибо но не выводить если в регулярку поставить переменную

    var arrIn=[[TEST_NOMER_AVTOSMS]];
    var arrOut=[];
    arrIn.forEach(function(str,i, arrIn) {
    str=str.match(/[[USER_NOMER_AVTOSMS]]:\d*/);
    if (str){arrOut.push(str[0])};
    });
    [[JOIN_RESULT_STRING]] =arrOut;
    

    и можно сразу в строку вывести а не в список?



  • var arrIn=[[TEST_NOMER_AVTOSMS]];
    var arrOut=[];
    arrIn.forEach(function(str,i, arrIn) {
    str=str.match(/[[USER_NOMER_AVTOSMS]]:\d*/);
    if (str){arrOut.push(str[0])};
    });
    [[JOIN_RESULT_STRING]] =arrOut.join(',');



  • @Denis_krsk с переменным не работает

    так не работает 
    var arrIn=[[TEST_NOMER_AVTOSMS]];
    var arrOut=[];
    arrIn.forEach(function(str,i, arrIn) {
    str=str.match(/[[USER_NOMER_AVTOSMS]]:\d*/);
    if (str){arrOut.push(str[0])};
    });
    [[JOIN_RESULT_STRING]] =arrOut.join(',');
    
    а так работает но в переменной [[USER_NOMER_AVTOSMS]] только текст 77775985769
    var arrIn=[[TEST_NOMER_AVTOSMS]];
    var arrOut=[];
    arrIn.forEach(function(str,i, arrIn) {
    str=str.match(/77775985769:\d*/);
    if (str){arrOut.push(str[0])};
    });
    [[JOIN_RESULT_STRING]] =arrOut.join(',');
    


  • @GamiD попробуй str=str.match(eval('/'+[[USER_NOMER_AVTOSMS]]+':\d*/');



  • @Denis_krsk нет не получается



  • @GamiD str=str.match(eval('/'+[[USER_NOMER_AVTOSMS]]+':\d*/')); // тут скобки не хватало, может поэтому.



  • @Denis_krsk вот так заработал

    str=str.match(eval('/'+[[USER_NOMER_AVTOSMS]]+':[0-9]*/'));
    

    от души братан четко работает



  • @Denis_krsk said in Помогите с регуляркой:

    @GamiD str=str.match(eval('/'+[[USER_NOMER_AVTOSMS]]+':\d*/')); // тут скобки не хватало, может поэтому.

    думаю если поставить эти коды в лайфхаки многим понадобятся



  • @GamiD Да это основы js, я сам его не знаю, но стараюсь читать когда есть время либо необходимость.



  • @Denis_krsk я так то вообще не знаю js надо учить



  • @GamiD https://learn.javascript.ru тут все доступно



  • Есть у кого-нибудь опыт создания фильтра стоп(мат)-слов? Я сделал по статье https://habrahabr.ru/post/101232/ , но мне кажется это далеко не очень оптимально. Может поделитись опытом если есть. :) Я вот думаю может сначала проверяемую фразу разбить на слова, затем каждое слово с помощью рег.в. нормализовать, то есть исправить транслит и т.п. на кириллицу а затем уже просто проверять по словарю? Морфологическим аналазом я точно не собирасюь заниматься, надо что-то более менее оптимальное.



  • @Denis_krsk бесполезное занятие.. совсем бесполезное.. особенно для ру сегмента. одно только слово с забора можно парой сотен вариаций написать, а если пилить под него регулярку то, то зарежешь и добрую часть литературного языка



  • @Denis_krsk Соглашусь с @artihorror , заштрихуй, ослаблять, и т.п. Плюс можно использовать цифры, знаки..


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.