[OT] Finding matching braces with regular expressions

Bruno Wolff III bruno at wolff.to
Mon Mar 19 01:19:58 UTC 2012


On Sun, Mar 18, 2012 at 23:46:17 +0100,
   suvayu ali <fatkasuvayu+linux at gmail.com> wrote:
>
>I'm trying to write a regular expression that matches function and class
>definitions in C/C++ and defuns in lisp code. I intend to use it with
>sed and `git blame'. My first attempt relies on indentation. That
>obviously breaks rather often.

Mathematically, regular expressions can't match braces like this to an
unbounded depth. You might be able to use extensions to common regular
expression implementations that aren't strictly regular expressions to do this.
It might be easier to write your own parser. There are tools, like flex
and bison to help with this.


More information about the users mailing list