是否可以使regexp匹配所有有效的正则表达式?

Juh*_*älä 6 regex computer-science regular-language

是否可以使用正则表达式检测给定字符串是否是有效的正则表达式?

假设我有一些字符串,可能是也可能不是有效的正则表达式.我想让正则表达式匹配那些对应于有效正则表达式的字符串.那可能吗?或者我是否使用一些更高级别的语法(即无上下文语言)来检测这个?如果我使用像Perl regexps这样的扩展版本的regexp会有影响吗?

如果可能,正则表达式匹配正则表达式是什么?

Pla*_*ure 8

不,这是不可能的.这是因为有效的正则表达式涉及分组,这需要平衡的括号.

平衡分隔符不能与正则表达式匹配; 它们必须与无上下文语法相匹配.(该文章的第一个例子涉及平衡的括号.)