Regular Expressions 101

Community Patterns

Matching balanced parens, brackets, and braces

6

Regular Expression
PCRE (PHP <7.3)

/
# match a body pattern alone on a line ^\g<body>$ # we'll use (?<name>...){0} to define the pattern \g<name> # without having to match the pattern at the current position # a body pattern matches (?<body> # a sequence of (?: [^\[\]{}()\n] # non-delimiters | \g<parens> # parenthesized pattern | \g<square_brackets> # bracketed pattern | \g<curly_braces> # braced pattern )* ){0} # a parenthesized pattern matches (?<parens> \( # an open paren \g<body> # a valid body \) # a close paren ){0} # a bracketed pattern matches (?<square_brackets> \[ # an open square bracket \g<body> # a valid body \] # a close square bracket ){0} # a braced pattern matches (?<curly_braces> \{ # an open curly brace \g<body> # a valid body \} # a close curly brace ){0}
/
gmx

Description

no description available

Submitted by Noah Luck Easterly - 10 years ago