kurojneko
@kurojneko

Как в javascript regexp указать повторение сложной группы?

Пытаюсь распарсить код, возникла сложная ситуация связанная со спецификой питона. Необходимо отделять блоки строк, которые начинаются с нескольких пробелов (4х) от блоков которые не начинаются с пробелов.
Яваскрипт категорически не хочет кушать регексп с указанием новой строки, получается что я могу выделить строку начинающуюся с 4х пробелов, но не могу выделить блок таких строк.

'^\ {4}[\ |\S]+$|^$' - строка начинающаяся с 4х пробелов, либо пустая строка.
Станадртный вариант повторения чего либо - "+", но тут он не прокатывает.
Пробовал варианты [^\ {4}[\ |\S]+$|^$]+ - не прокатило.
Вариант советуемый интернетами [\s|\S] - просто сжирает все на своем пути, а тут нужно отделить одни строки от других..

https://regex101.com/r/oV3zU9/1
  • Вопрос задан
  • 527 просмотров
Решения вопроса 1
@tplus
(\ {4}[\ |\S]+\n?)+
С таким выражением получается выделить блоки, между которыми нет пустой строки

(\ {4}[\ |\S]+\n{0,2})+
С таким - всё, что на одном уровне вложенности и глубже
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы