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



  • 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 , заштрихуй, ослаблять, и т.п. Плюс можно использовать цифры, знаки..



  • @Fox У меня бот постит комменты в сетях. Но комменты пишет заказчик. Бывают пишут оскорбительные и т.п. И дабы не попасть под жалобы жертв и УК РФ нужно таки их отсевать. Сделал пока по статье с хабра. Посмотрим..



  • @Denis_krsk УК РФ

    Статья 20.1. Мелкое хулиганство
    [Кодекс РФ об административных правонарушениях] [Глава 20] [Статья 20.1]

    1. Мелкое хулиганство, то есть нарушение общественного порядка, выражающее явное неуважение к >обществу, сопровождающееся нецензурной бранью в общественных местах, оскорбительным >приставанием к гражданам, а равно уничтожением или повреждением чужого имущества, -

    влечет наложение административного штрафа в размере от пятисот до одной тысячи рублей или >административный арест на срок до пятнадцати суток.

    1. Те же действия, сопряженные с неповиновением законному требованию представителя власти либо >иного лица, исполняющего обязанности по охране общественного порядка или пресекающего >нарушение общественного порядка, -

    влекут наложение административного штрафа в размере от одной тысячи до двух тысяч пятисот рублей >или административный арест на срок до пятнадцати суток.

    А против жалоб ни какой фильтр не поможет. Идеальный вариант, на мой взгляд, это переложить ответственность на зазчика через лицензионное соглашение например.



  • @Fox Ладно хулиганство, сейчас за лайк или репост могут под экстремизм подвести :((



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

    Идеальный вариант, на мой взгляд, это переложить ответственность на зазчика через лицензионное соглашение например.

    +1



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

    @Fox Ладно хулиганство, сейчас за лайк или репост могут под экстремизм подвести :((

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

    Идеальный вариант, на мой взгляд, это переложить ответственность на зазчика через лицензионное соглашение например.

    Спокойно!



  • @Antonio https://news.vse42.ru/feed/show/id/27795228 2,5 года за репост :))



  • @Denis_krsk @Antonio @Fox

    Опять проблема с регуляркой все способы который знаю попробовал
    Не могу вывести название темы из imap письма делаю "Получить сообщение"
    из полученного сообщения беру 200 символов [[MAIL_BODY]].slice(0,200) чтобы все лишнее не попадалось в notepad+ так работает
    0_1518888895197_1.JPG
    Делаю через "Выполнить код"

    Так работает 
    var str = 'From: Yandex <no-reply@Yandex.ru> To: "puma@gmail.com" <puma@gmail.com> Subject: Need For Speed Payback  Delivered-To: gamid@gmail.com Received: by 192.168.1.1 with SMTP'.replace(/.*Subject[:](.*)Delivered[-]To[:].*/g, '$1');
    [[GROUP1]] = str
    
    А так нет
    var str = [[GROUP1]].replace(/.*Subject[:](.*)Delivered[-]To[:].*/g, '$1');
    [[GROUP1]] = str
    

    Вот сам текст

    From: Yandex <no-reply@Yandex.ru> To: "puma@gmail.com" <puma@gmail.com> Subject: Need For Speed Payback  Delivered-To: gamid@gmail.com Received: by 192.168.1.1 with SMTP
    

Log in to reply
 

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