如果字符串是PHP中的正则表达式或普通字符串,是否有一种好的测试方法?
理想情况下,我想编写一个函数来运行字符串,返回true或false.
我看了看preg_last_error():
<?php
preg_match('/[a-z]/', 'test');
var_dump(preg_last_error());
preg_match('invalid regex', 'test');
var_dump(preg_last_error());
?>
Run Code Online (Sandbox Code Playgroud)
显然,第一个不是错误,第二个是错误.但两次preg_last_error()返回int 0.
有任何想法吗?
我在c#中有一段代码来检查值是否是有效的正则表达式模式.代码很简单:
try
{
System.Text.RegularExpressions.Regex.IsMatch("", pattern);
}
catch (Exception)
{
return "pattern matches must be a valid regex value";
}
Run Code Online (Sandbox Code Playgroud)
我试图测试它是否正常工作,但我找不到无效的正则表达式模式..呵呵
有什么建议?
我正在编写表单验证类,并希望在验证中包含正则表达式.因此,提供的正则表达式不保证有效.
我怎样(有效地)检查正则表达式是否有效?