是否可以使用正则表达式检测给定字符串是否是有效的正则表达式?
假设我有一些字符串,可能是也可能不是有效的正则表达式.我想让正则表达式匹配那些对应于有效正则表达式的字符串.那可能吗?或者我是否使用一些更高级别的语法(即无上下文语言)来检测这个?如果我使用像Perl regexps这样的扩展版本的regexp会有影响吗?
如果可能,正则表达式匹配正则表达式是什么?
不,这是不可能的.这是因为有效的正则表达式涉及分组,这需要平衡的括号.
平衡分隔符不能与正则表达式匹配;它们必须与context-free grammar匹配.(该文章的first example处理平衡的括号.)