Я прочитал довольно много постов здесь для сопоставления вложенных скобок в Ruby с помощью Regexp. Однако я не могу приспособить это к моей ситуации, и я застрял. Книга Ruby 1.9 использует следующее, чтобы соответствовать набору вложенных фигурных скобок
/\A(?<brace_expression>{([^{}]|\g<brace_expression>)*})\Z/x
Я пытаюсь изменить это тремя способами. 1. Я хочу использовать скобки вместо фигурных скобок, 2. Мне нужен символ перед (например, символ хеша), и 3. Я хочу сопоставить в любом месте строки, а не только в начале и конце. Вот что у меня есть.
/(#(?<brace_expression>\(([^\(\)]|\g<brace_expression>)*\)))/x
Буду признателен за любую помощь в получении правильного выражения.