GOOGLE ADS

воскресенье, 8 мая 2022 г.

Regex для фильтрации времени Datetime из строки

Требование: я получаю электронное письмо с шаблоном, и мне нужно отфильтровать некоторый текст из электронного письма. Я преобразовываю весь основной текст электронной почты в виде строки.

текст письма выглядит так:

some body text which I don't need
Discussion:
Tue 26/04/2022/2:48 PM UTC+10/ ABC User-
TEST description - this should be logged as a comment. --- This is the part I need
ABC Company Australia | XYZ St | Sydney NSW 2000

Я думал о регулярном выражении, которое ищет

  • Слово «Дискуссия».

  • В следующей строке найдите формат DateTime с «Tue 26/04/2022/14:48 PM UTC+10/ABC User-»

  • Поднимаем следующую строку, пока не найдем эту строку - адрес "ABC Company Australia | XYZ St | Sydney NSW 2000"

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

    ТИА.


    Решение проблемы

    Если бы речь шла только о содержании, которое интересует OP, следующего регулярного выражения уже достаточно.../Discussion:\n[a-zA-Z]{1,3}\s+\d{2}\/\d{2}\/\d{4}.*\n+(?<content>.*)/


    const multilineMail = `Discussion:
    Tue 26/04/2022/2:48 PM UTC+10/ ABC User-
    TEST description - this should be logged as a comment. --- This is the part I need
    ABC Company Australia | XYZ St | Sydney NSW 2000`;
    // see... [https://regex101.com/r/v8FXCA/3]
    const regXMailContent =
    /Discussion:\n[a-zA-Z]{1,3}\s+\d{2}\/\d{2}\/\d{4}.*\n+(?<content>.*)/;
    console.log(
    regXMailContent.exec(multilineMail)?.groups?.content
    );

    Комментариев нет:

    Отправить комментарий

    Laravel Datatable addColumn returns ID of one record only

    Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...