正则表达式 – 正则表达式本身可以用正则表达式解析吗?

参见英文答案 > Is there a regular expression to detect a valid regular expression?                                    8个
我正在阅读正则表达式解析器的代码,并开始怀疑正则表达式的语法本身是否是常规的,并且可以用另一个(非常复杂的)正则表达式表达?

rere = "" # the regular expression of regular language
match1 = re.match(rere, "[a-z]+@[a-z]+.com") # True
match2 = re.match(rere, ")az[") # False

我没有在正则表达式语法中看到任何递归结构,所以我想也许这是可行的?

如果是,表达式是什么样的?
如果没有,为什么?

您无法使用正则表达式解析嵌套括号,因为您需要无限状态才能执行此操作.所以答案是否定的.您正在寻找的是 context-free grammars.
相关文章
相关标签/搜索