Я изо всех сил пытался найти регулярное выражение, которое помогло бы мне сопоставить 3 разные строки, только если они не заключены в скобки, но до сих пор мне удавалось сопоставить его, только если оно находится рядом с скобками, и в этой конкретной ситуации оно меня не устраивает.
Чтобы уточнить, мне нужно сопоставить строки "HAVING", "ORDER BY" и "GROUP BY", которые не содержатся ни в одной скобке, независимо от того, содержит ли скобка больше, чем просто строка.
В этом случае:
Select *
from some_table
group by something;
Должно совпадать, но:
Select *
from(
Select *
from some_other_table
group by something_else
)
или
Select this, and_this
from(
Select *
from some_other_table
having some_condition
)
не должен.
Я не эксперт по Javascript Regex, поэтому любая помощь, которую вы мне могли бы оказать, будет принята с благодарностью.