Вставьте свои тестовые данные в редактор, который может отображать управляющие символы и проверять символы перевода строки.Обычно это должно быть только \n
в системе Linux, как в вашем регулярном выражении.(У меня были необычные разрывы строк несколько недель назад, и я не знаю почему.)
Еще одна проверка, которую вы можете сделать, это поменять скобки и распечатать группы захвата.чтобы вы могли видеть, какая часть вашего регулярного выражения соответствует чему.
/^<DD>(.*)\n?(.*)\n/
Еще одна идея, чтобы заставить это работать, измените .*
.Не говорите совпадать с любым символом, говорите совпадать с чем угодно, но \n
.
^<DD>([^\n]*\n?[^\n]*)\n