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

Поддержка
  • Я не пойму к тексту я что не текст применяю разве? Меня запутали всего я сто раз эти регулярки делал. как мне код то вытянуть я так и не понял толком.

  • @gervalddenis Попробуйте так

    :\ (\d{4,4})
    
  • @romanbiz said in Помогите с регуляркой!:

    @gervalddenis Попробуйте так

    :\ (\d{4,4})
    

    А зачем вы экранировали пробел и для чего указали диапазон от 4 до 4? :)

  • В начале темы я выложил текст письма из которого мне нужно вытянуть код, регуляркой я его составил и код вытягивается в конструкторе, мне говорят что надо применять к тексту, так я так и делаю применяю к тексту, но она не срабатывает, кто нибудь может внятно объяснить почему регулярка должна другой, и почему конструктор мне составляет верно а бас не вытягиват код??
    Этот конструктор на базе баса и сделан. Когда я вывожу с переменной тему письма там идут еще много разных символов, я так и не понял какая регулярка должна применяться.

  • Вот это письмо он мне выводит с MAIL BODY - [763487076] [22:42:22] Поток №1 : From: noreplay@wmrok.com noreplay@wmrok.com To: tokmaknuraliev19842402@rambler.ru Subject: ������������� ����������� �� www.wmrok.com Return-Path: php@wmrok.com Delivered-To: tokmaknuraliev19842402@rambler.ru Received: from 1vm0011.prod.mail.rambler.tech ([10.5.5.14]) by 0vm0002.prod.mail.rambler.tech with LMTP id 0HbvHlnMY16rfQAAFNO7fQ (envelope-from php@wmrok.com) for tokmaknuraliev19842402@rambler.ru; Sat, 07 Mar 2020 16:31:21 +0000 Received: from mx4.mail.rambler.ru ([10.5.5.14]) by 1vm0011.prod.mail.rambler.tech with LMTP id 6FveHlnMY148WQAA6lHQPQ (envelope-from php@wmrok.com) for tokmaknuraliev19842402@rambler.ru; Sat, 07 Mar 2020 16:31:21 +0000 Received: from autorest.ru (unknown [89.208.145.156]) by mx4.mail.rambler.ru (Postfix) with ESMTP id 62A69320359 for tokmaknuraliev19842402@rambler.ru; Sat, 7 Mar 2020 19:31:21 +0300 (MSK) Received: from UNKNOWN (UNKNOWN [89.208.145.156]) by resmtp1.mail.rambler.ru (resmtp/Rambler) with ESMTP id VL1K9vgh; Sat, 7 Mar 2020 16:31:21 +0000 Received: by autorest.ru (Postfix, from userid 33) id CAA448327; Sat, 7 Mar 2020 19:32:29 +0400 (MSK) Reply-To: noreplay@wmrok.com Content-type: text/plain; charset="windows-1251" Message-Id: 20200307153229.CAA448327@autorest.ru Date: Sat, 7 Mar 2020 19:32:29 +0400 (MSK) X-Spam: yes ������������! �� ������������������ �� http://wmrok.com , ��� ��������� �������� ������� reg-���: 8617 ����� ������� � �������! -------------------------------------------- ��� �����: tokmaknuraliev19842402@rambler.ru ��� ������: ztyY6blFmRg ��� pin-���: 9793 -------------------------------------------- � ���������, www.wmrok.com

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

    В начале темы я выложил текст письма из которого мне нужно вытянуть код, регуляркой я его составил и код вытягивается в конструкторе, мне говорят что надо применять к тексту, так я так и делаю применяю к тексту, но она не срабатывает

    К тому тексту, который вы приложили, регулярка срабатывает и возвращает верный результат (да, я перепечатал текст сообщения со скриншота):
    a7948023-c532-47e0-b323-c2ce423a45d3-изображение.png
    f89d8170-a69a-4151-aded-9e83df785a87-изображение.png
    79b26743-bf92-42ab-ac7e-fe43f79d3c41-изображение.png

    тестовый скрипт

    кто нибудь может внятно объяснить почему регулярка должна другой, и почему конструктор мне составляет верно а бас не вытягиват код??

    Если регулярка в конструкторе работает, а в BAS нет, значит текст в переменной BAS, к которому вы применяете регулярку отличается от того текста, который указали в конструкторе.

    Этот конструктор на базе баса и сделан.

    Это веб страница https://bablosoft.github.io/RegexpConstructor/ , о какой базе речь?

    Когда я вывожу с переменной тему письма там идут еще много разных символов, я так и не понял какая регулярка должна применяться.

    Напишу третий раз. Регулярное выражение должно составляться на том тексте, к которому она будет применяться.


    Опишу другими словами, вы зашли в браузер, открыли текст письма и скопировали его в конструктор, создали регулярное выражение. Зашли в BAS, через imap получили письмо и думаете, что в переменной будет точно такой же текст, как и в браузере. Но это не ТАК!. В переменной тела письма будут и технические данные и весь текст в html обрамлении, ну то есть со всякими тегами и прочим.
    Дак вот, в коде этот текст может быть записан как нибудь так:

    <p class="mega-text">Вы зарегистрировались на <a href="http://wmrok.com/rel?faq=asdl&stupid=true&az=zed">http://wmrok.com</a> , для активации аккаунта введите reg-код:</p><span class="number">8617</span>
    

    и вот к этому тексту ваша регулярка не подойдёт.

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

    Вот это письмо он мне выводит с MAIL BODY

    На будущее, для прикладывания кода используйте кнопочку
    93d56cc5-7188-4195-8da1-f3a0e41cb0cd-изображение.png
    что бы форум не удалил какие нибудь символы из текста посчитав их оформлением.

    Используйте такую регулярку:

    reg-.*?: (\d{4})
    
  • Я об этом и говорил вам, что в переменную записывает символы иероглифы всякие и спрашивал регулярку мне составлять из текста как в переменную записывается а не так как в письме, спасибо, я так и понял уже что так делается. Спасибо за помощь.

  • @Fox в результате 4 символа, а пробел мне экранировал конструктор регулярок.

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

    @Fox в результате 4 символа, а пробел мне экранировал конструктор регулярок.

    У вас диапазон от 4 символов, до 4 символов {4,4}, хотя можно было оставить просто {4}. Я просто спросил для чего это.

  • @Fox спасибо, учту