Archive for February, 2008

Regular Expression for stored DB methods

February 3, 2008

I had an issue to extract methods’ body from files with theirs statements (stored function’s and procedure’s). For this reason I’ve written following regular expression:

CREATE\s+(PROCEDURE|FUNCTION)\s*(\[*\w+\]*\.)?(\[*\w+\]*)?\s*\(?\s*(@\w+\s+\w+(\(\d+(,\d+)?\))?\s*((=\s*((\-?\d+(\.\d+)?)|(\'\w+\')|NULL)\s*)|OUTPUT)?,?\s*)*\)?\s*(RETURNS\s+\w+(\(\d+(,\d+)*\))*)?\s*AS\s+((BEGIN\s+(.*)+\s+END\s+(GO)*)|((.*\s*)+\s+GO))

This expression doesn’t check statements for correctness. It has been made just to get methods’ statements.