Разделите текст на блоки с помощью регулярного выражения Javascript - PullRequest
0 голосов
/ 06 мая 2020

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

В этом примере у нас есть текст [bbcode] текст bbcode [/ bbcode] текст [bbcode] текстbbcode [/ bbcode] текст, я хотите, чтобы на основе регулярных выражений можно было получить такой массив, ["text", "[bbcode] text bbcode [/ bbcode]", "text," [bbcode] text bbcode [/ bbcode] "," text " ]

Не знаю, на правильном ли я пути, или этого можно добиться без регулярных выражений, спасибо.

([\s\S]*?)\[bbcode\]([\s\S]*?)\[\/bbcode\]([\s\S]*?)

https://regex101.com/r/VktWLr/3

enter image description here

1 Ответ

0 голосов
/ 07 мая 2020

Решает ли это вашу проблему?

`text[bbcode]text bbcode[/bbcode]text[bbcode]textbbcode[/bbcode]text`.split(/(?=\[bbcode\])|(?<=\[\/bbcode\])/s)

См. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions#Other_assertions для Lookahead assertion и Lookbehind assertion, если вам нужно больше информации о том, как разделить, открывая и закрывая теги, не включая их в качестве разделителей.

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