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



  • @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
    


  • @GamiD Зачем использовать .replace?
    Странный код, огород.. Но у меня нормально сработал.

    Ведь можно использовать экшен первое вхождение, он выдаёт нужный результат с твоей регуляркой.
    Смотри, вот примерный проект.



  • @GamiD Так, смотри, твоя регулярка:

    .*Subject[:](.*)Delivered[-]To[:].*
    

    Любой символ с жадным алгоритмом .* нужны, чтобы заменить ненужную информацию перед регуляркой и после, но зачем использовать диапазоны с одним значением? [:] [-] [:]



  • @GamiD тебе @Fox правильно сказал. Зачем замена?
    Регулярка с первым вхождением даёт точный ответ

    (?<=Subject: ).*?(?=  Delivered-To:)
    

    Всё что между скобками - то, что ты хотел.



  • @Fox @Xstroy Спасибо вам оказалось вся проблема в переносе строки "\n" Fox открыл твой проект все работает даже мой вариант работает все варианты из твоего проекта ставлю в мой ни один не работает потом увидел что там есть перенос строки и решил убрать и заработал и мой вариант и все варианты тоже еще раз спасибо не певрый раз уже выручаешь


Log in to reply
 

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