I am writing a form validation class and wish to include regular expressions in the validation. Therefore, the regex provided isn’t guaranteed to be valid.
How can I (efficiently) check that the regex is valid?
Advertisement
Answer
Use the pattern in your preg_*
calls. If the function returns false
there is likely a problem with your pattern. As far as I know this is the easiest way to check if a regex pattern is valid in PHP.
Here’s an example specifying the right kind of boolean check:
$invalidPattern = 'i am not valid regex'; $subject = 'This is some text I am searching in'; if (@preg_match($invalidPattern, $subject) === false) { // the regex failed and is likely invalid }