vavr
Новичок
возможно ли распарсить многомерное вложение?
Вопрос такой можно ли регулярным выражением вычленить ключевые слова первого уровня?
Поясняю:
есть sql запрос кпримеру: select * from (select * from tbl where id>5 order by id) where id = 10 order by id desc;
понятно что вложенность select может быть любая (теоритически) и располагаться он может почти где угодно (например в IF() ), так вот можно ли составить рег выражение чтобы оно матчило нужно содержимое только первого уровня (под нужным понимается блоки select, from, where, order, limit)? В данном примере это select => "*", from => "(select * from tbl where id>5 order by id)" where=>"id = 10", order by=>"id desc" limit=>""
Создается впечатление что такое рег выражение нельзя написать...
Вопрос такой можно ли регулярным выражением вычленить ключевые слова первого уровня?
Поясняю:
есть sql запрос кпримеру: select * from (select * from tbl where id>5 order by id) where id = 10 order by id desc;
понятно что вложенность select может быть любая (теоритически) и располагаться он может почти где угодно (например в IF() ), так вот можно ли составить рег выражение чтобы оно матчило нужно содержимое только первого уровня (под нужным понимается блоки select, from, where, order, limit)? В данном примере это select => "*", from => "(select * from tbl where id>5 order by id)" where=>"id = 10", order by=>"id desc" limit=>""
Создается впечатление что такое рег выражение нельзя написать...