Раздражающе, Javascript не предоставляет рекурсивный параметр PCRE (?R)
, поэтому далеко не просто справиться с вложенной проблемой. Однако это может быть сделано.
Я не буду воспроизводить код, но если вы посмотрите блог Стива Левитана , у него есть хорошие статьи по этому вопросу. Он должен это сделать, он, вероятно, является ведущим авторитетом в RegExp в JS. Он написал XRegExp , который заменяет большинство битов PCRE, которые отсутствуют, есть даже плагин Match Recursive !