如何验证正则表达式以确保它与PHP中的另一个正则表达式不匹配?

arc*_*eta 0 php regex

我有一种情况,允许最终用户输入任意的正则表达式(php pcre).例如:^[a-zA-Z]foo[0-9]{3}$

我需要'验证'这个正则表达式:

  1. 准确性(执行时不会导致错误)和
  2. 确保正则表达式不允许匹配以下模式的字符串: ^[a-zA-Z0-9_\-]$

执行上述2次验证的好方法(理想情况是在php中)是什么?

注意:我无法在运行时简单地使用两个正则表达式来匹配每个字符串.

San*_*hal 7

这不可能.PCRE是一种图灵完整的语言,所以从本质上讲,你正试图解决停顿问题.唯一的方法是简单地运行PCRE并检查错误.