Tech, software & more

Программирование => Скриптовые языки программирования => Тема начата: crazy_man от 03 Февраль 2021, 22:28:35

Название: Регулярка
Отправлено: crazy_man от 03 Февраль 2021, 22:28:35

Сообщения вида
    <payment paymentId="10445252250079702512201898733695" updatedByLogin="mmc" updatedByName="mmc mmc mmc" updatedAt="2020-02-01T09:32:21.434+03:00">
        <paymentDetails inn="771616505364" pmntDate="2018-12-25+03:00" coBik="044525225" status="NEW" sum="4500.0" purpose="PAYERINN:771616505364" payerId="2100000000771616505364643" receiverInn="7716103458"/>
        <patentData series="77" number="1803459040" printDate="2018-10-24+03:00"/>
    </payment>

Регулярка
.*?paymentId="(\d+)".*?series="(\d+)".*?number="(\d+)".*?printDate="(.*?)"   заменить на  \('\1','\2','\3'\,'\4'\),\n

Вывод
('10445252250079702411201833963661','77','1803459040','2018-10-24+03:00'),
('10445252250079702512201898733695','77','1803459040','2018-10-24+03:00'),


Описание:
.* - любой текст (жадная регулярка [сжирает весь текст])
.*?paymentId - любой текст до слова paymentID
Название: Re: Регулярка
Отправлено: crazy_man от 21 Февраль 2021, 15:54:50
find
.*?group-title="(.*?)".*?tvg-name="(.*?)".*?

replace
group-title="\1" tvg-name="\2"\n