RegEx/C/Struct.regex.txt
# Matches a C/C++ Struct (?-i)struct # Starts with a literal struct \s{1,} # Followed by whitespace (?<Identifier>[_a-zA-Z][_a-zA-Z0-9]{1,}) # Followed by an identifier [\s\n\r]{0,} # Followed by optional whitespace (?<Comment>//.+[\r\n])? # Followed by an optional comment [\s\n\r]{0,} # Followed by optional whitespace (?<Values>(?<BalancedCurlyBracket> \{ # An open { (?> # Followed by... [^\{\}]+| # any number of non-bracket character OR \{(?<Depth>)| # an open curly bracket (in which case increment depth) OR \}(?<-Depth>) # a closed curly bracket (in which case decrement depth) )*?(?(Depth)(?!)) # until depth is 0. \} # followed by a } ) ) # Followed by balanced curly braces |