我想在 PHP 中测试正则表达式的有效性,最好是在使用它之前。这样做的唯一方法是实际尝试 preg_match()
并查看它是否返回 FALSE
?
是否有更简单/正确的方法来测试有效的正则表达式?
最佳答案
// This is valid, both opening ( and closing )
var_dump(preg_match('~Valid(Regular)Expression~', '') === false);
// This is invalid, no opening ( for the closing )
var_dump(preg_match('~InvalidRegular)Expression~', '') === false);
正如用户 pozs 所说,也考虑将 @
放在 preg_match() 前面(@preg_match()
) 在测试环境中防止警告或通知。
要验证 RegExp,只需针对 null
(无需预先知道要测试的数据)。如果它返回显式 false (=== false
),则它已损坏。否则它是有效的,尽管它不需要匹配任何东西。
所以没有必要编写自己的 RegExp 验证器。 浪费时间......
关于php - 如何验证正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440626/