Разбор BBCode с нормальным текстом - PullRequest
0 голосов
/ 20 февраля 2019

Я создал Regular Expression для разбора BBCode.Regular Expression проверяет каждый тег BBCode и перемещает его в Matching / Group.

Вот Regular Expression ( Live-Example : https://regex101.com/r/p3LtrK/3):

\[(\w+)(?:[= ]([^\]]+))?]((?:.|[\r\n])*?)\[\/\1]

Я немного преувеличен, потому что я уже испробовал всевозможные возможности для добавления нового Matching / Group. Я хочу добавить в Regular Expression все остальные строки /текст в виде Matching / Group.

Я попытался следующие изменения:

  • Попробуйте с OR: ($NewRegex|$BBCodeRegex)
  • Попробуйте сGrouping другие строки / тексты с максимальным запуском BBCode [: (^[\[]+)

Проблема в том, что я хочу, чтобы группировка выполнялась именно на входе. В настоящее время я получаю пример выходных данных:

#0 [tag]<content>[/tag]
#1 [tag]<content>[/tag]
#2 [tag]<content>[/tag]
#3 [tag]<content>[/tag]

И вот что мне нужно:

#0 [tag]<content>[/tag]
#1 <text>
#1 [tag]<content>[/tag]
#2 <text>
#3 [tag]<content>[/tag]
#4 [tag]<content>[/tag]
#5 <text>
#6 [tag]<content>[/tag]

У вас есть какие-нибудь решения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...