Я хотел бы использовать regex, чтобы заглянуть внутрь строки для наименьшей последовательности, которая соответствует начальному и конечному разделителям (с учетом символа пробега). Например, если бы у меня была следующая строка, я бы хотел найти самые низкие совпадения [ two ]
и [ four \[ five \] ]
, игнорируя совпадение, они содержатся в [ one ... three ... six]
.Разбор вложенных совпадений с использованием regex
zero [ one [ two ] three [ four \[ five \] ] six ] seven
До сих пор у меня есть следующее регулярное выражение, которое использует отрицательные просмотровые задом, чтобы проверить и не совсем кэширование во втором матче последнего ]
.
(\[)(?:(?!(?:[^\\])\1|\]).)*]
Моя цель состоит в том, чтобы иметь простой парсер, который я могу использовать для обработки простых вложенных командных блоков.
Спасибо! Вы помогли мне предвидеть проблемы, о которых я даже не думал. Кроме того, добавление творческой логики (с использованием 2 даже + 1 нечетных до 1 нечетного) довольно аккуратно. – Xeoncross