// This is valid, both opening ( and closing ) var_dump(preg_match('~Valid(Regular)Expression~', null) === false); // This is invalid, no opening ( for the closing ) var_dump(preg_match('~InvalidRegular)Expression~', null) === false);
As the user pozs said, also consider putting
@ in front of preg_match() (
@preg_match()) in a testing environment to prevent warnings or notices.
To validate a RegExp just run it against
null (no need to know the data you want to test against upfront). If it returns explicit false (
=== false), it's broken. Otherwise it's valid though it need not match anything.
So there's no need to write your own RegExp validator. It's wasted time...