in reply to Re: regex to parse (nested) parenthesis delimited string?
in thread regex to parse (nested) parenthesis delimited string?

Thanks all for the feedback.

Indeed Text::Balanced might be a better solution although the suggested code fails to recognize '(fff)' as a separate, third, item. (probably because the parenthesis have an unbalanced nested parenthesis)

  • Comment on Re^2: regex to parse (nested) parenthesis delimited string?

Replies are listed 'Best First'.
Re^3: regex to parse (nested) parenthesis delimited string?
by imp (Priest) on Feb 06, 2007 at 17:05 UTC
    Garbage in.. :)
Re^3: regex to parse (nested) parenthesis delimited string?
by polettix (Vicar) on Feb 06, 2007 at 18:27 UTC
    probably because the parenthesis have an unbalanced nested parenthesis
    Having unbalanced nested parenthesis invalidates your question. You asked for the following:
    input: '(aaa) (bbb (ccc( ddd) eee) (fff)' output: '(aaa)' '(bbb (ccc( ddd) eee)' '(fff)'
    but the unbalancing could have been resolved as in imp's answer, or alternatively as follows:
    input: '(aaa) (bbb (ccc( ddd) eee) (fff)' output: '(aaa)' '(bbb' '(ccc( ddd) eee)' '(fff)'
    As a matter of fact, I would understand either taking them all like imp (i.e. assuming that the missing parenthesis are all in the end) or this last one (i.e. assuming that the missing parentheses close the littlest possible group), while I don't see a generalisation rule for your choice.

    Flavio
    perl -ple'$_=reverse' <<<ti.xittelop@oivalf

    Don't fool yourself.