一尘不染

如何验证正则表达式?

php

我想在PHP中测试正则表达式的有效性,最好在使用前进行测试。这样做的唯一方法是实际尝试a preg_match()并查看是否返回FALSE吗?

有没有更简单/正确的方法来测试有效的正则表达式?


阅读 506

收藏
2020-05-29

共1个答案

一尘不染

// 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);

正如用户 pozs 所说,还应 考虑@@preg_match()在测试环境中 放在 preg_match() ()
前面, 以防止发出警告或通知。

要验证RegExp只需对其运行null (无需知道您要预先测试的数据) 。如果返回显式false(=== false),则表示它已损坏。否则它是有效的,尽管它不需要匹配任何内容。

因此,无需编写自己的RegExp验证器。 浪费时间了…

2020-05-29