Regex для разбора текстовой разметки

Мне нужно регулярное выражение для разбора форматированного текста с *bold* а также _italic_ стили, которые также могут быть объединены как _*bold and italic*_ или же _*bold* and italic_,

Я получил следующее регулярное выражение:

([*_])(.+?)\1

но он будет анализировать только внешние символы, оставляя вывод следующим образом:

Текст, выделенный жирным шрифтом и курсивом

Явное добавление второй группы захвата, кажется, делает свое дело:

([*_])((?1))?(.+?)\2?\1

но, возможно, есть более общий подход, который позволил бы применять произвольное количество символов разметки одновременно (например, ~_*strikethrough*_~)?

Кроме того, возможно ли соответствовать формату, как _*bold* and italic_?

0 ответов

Другие вопросы по тегам