php类或正则表达式来检查正则表达式模式本身(至少检查分隔符/语法..)

php类或正则表达式来检查正则表达式模式本身(至少检查分隔符/语法..),php,regex,class,automation,Php,Regex,Class,Automation,我写了一个valitor类,里面有很多正则表达式。 使用EclipseRegexUtil,它能够报告Regex模式“错误”,因此我想知道是否可以找到一个Regex或一个php子类来检查我调用的Regex模式是否是正确的Regex模式,在检查/测试它们的基础上嵌套一个专用的类内方法 最简单的方法是在空字符串上使用正则表达式尝试使用preg_match();如果返回False,则会发生错误,这意味着该模式无效。正如Tim正确建议的那样,验证PCRE语法正则表达式的最佳方法是尝试并编译它(通过preg

我写了一个valitor类,里面有很多正则表达式。

使用EclipseRegexUtil,它能够报告Regex模式“错误”,因此我想知道是否可以找到一个Regex或一个php子类来检查我调用的Regex模式是否是正确的Regex模式,在检查/测试它们的基础上嵌套一个专用的类内方法

最简单的方法是在空字符串上使用正则表达式尝试使用
preg_match()
;如果返回
False
,则会发生错误,这意味着该模式无效。

正如Tim正确建议的那样,验证PCRE语法正则表达式的最佳方法是尝试并编译它(通过
preg_match()
运行它)。他的答案应该被选为最佳答案(我已经给出了+1)

然而,如果有人对如何分解PCRE语法正则表达式以检查括号组(可能是嵌套的)的正确匹配感兴趣,我已经编写了一个JavaScript实用程序,它正好可以做到这一点。该脚本的用途也非常有用:它允许网页显示正则表达式,这样用户可以将鼠标悬停在任何括号上以高亮显示并查看其匹配的括号。它使用工具提示标识编号的捕获组,并以红色突出显示所有错误的孤立不匹配括号

动态(?:正则表达式高亮显示)++使用Javascript! 下面是描述脚本使用的正则表达式的文档页面:

这里是tester页面,您可以在其中对任何正则表达式应用动态高亮显示:

如果你喜欢正则表达式,我想你会同意这是一个非常酷的工具。tester页面对于阅读长而复杂的正则表达式非常方便,这些正则表达式不是以注释、自由间距模式编写的


这是在麻省理工学院许可下发布的,项目托管在GitHub上。

thx,这与我所寻找的简单聪明的想法相匹配,即使我梦想在PHP.thx中使用一些现有的工具,恭喜,这是一个令人印象深刻的工具!!将引擎翻译成PHP对我来说是非常好的,因为其目的是在服务器端“动态”调试/控制/管理大量PHP正则表达式(哼哼…服务器端)。