Is there any BNF grammar for regular expression?
You can see one for Perl regexp (displayed a little more in detail here, as posted by edg)