It's important to understand that not all security holes can be patched with a regular expression. Your code not only leaves the REGEXP blank, it also lacks any list of what the REGEXP might look for. The reason you're having trouble coming up with that list is that there is no REGEXP that will make you secure every time.
Take this example: Is the following string dangerous or not?
12345 or id > 0
In some forms, that would be very normal, safe, expected input (maybe a web site about helping people with math homework, for example). And on another web site, that could be a critical problem. Fatal even,
So do you filter out ">" signs? No, because in some SQL queries, they are perfectly fine.
So instead of a magic REGEXP, what you really need is to do a little research on how SQL injection works... and then you'll be able to prevent security problems with good programming.