У меня могут быть следующие строки: Случай 1:
VIR RECU 998721687978
DE: Mrs PAUL SMITH
564
MOTIF: ANY REASON
или случай 2:
VIR RECU 998721687978
DE: Mrs PAUL SMITH
564
Часть «MOTIF: ...» может отсутствовать в строке
Я ищу регулярное выражение для выделения подстроки из 2 прецедентов. Пока у меня есть: ^VIR\sRECU\s(\d+)\nDE:\s(.*)(\nMOTIF:\s(.*))
, что хорошо работает для случая 1, но не для случая 2. Если после группы захвата «мотив», такой как ^VIR\sRECU\s(\d+)\nDE:\s(.*)(\nMOTIF:\s(.*))?
, у меня был вопросительный знак, то эта группа никогда не изолируется
Полагаю, проблема в группе (. *), Но не могу понять, как ее исправить.
Возможно ли это? Или я должен иметь 2 разных регулярных выражения, по 1 для каждого случая?
Я использую эти регулярные выражения в php с функцией preg_math ().
Я хочу получить следующие результаты: 998721687978
, Mrs PAUL SMITH
564
и ANY REASON
значения