Description
|
| Raw Input
| A ( B ( C ( D ) E ( F ( G ) H ( I ) J ) K ) L ) M ( N ( O ( P ) R ) S ) T
|
|
| Desired Output
| ( D )
( F ( G ) H ( I ) J )
( P )
|
|
Script and Comments
Script1 [ 1] /\n/!s/^|$/\n/g
[ 2] :loop
[ 3] s/\n([^()\n]*)/\1\n/
[ 4] /\n\n/d
[ 5] /\n\(/{
[ 6] s/$/#/
[ 7] /\n#{3}$/s/^[^\n]*//
[ 8] }
[ 9] /\n\)/{
[10] /\n#{3}$/{
[11] s/#$//
[12] s/\n\)/)\n\n/
[13] P
[14] D
[15] }
[16] s/#$//
[17] }
[18] s/\n([()])/\1\n/
[19] b loop
| |