Can a regular expression itself be parsed with a regular expression?
本问题已经有最佳答案,请猛点这里访问。
我正在阅读正则表达式解析器的代码,开始怀疑正则表达式的语法本身是否是正则的,是否可以用另一个(非常复杂的)正则表达式来表示?
1 2 3 | rere ="" # the regular expression of regular language match1 = re.match(rere,"[a-z]+@[a-z]+.com") # True match2 = re.match(rere,")az[") # False |
我在正则表达式语法中没有看到任何递归结构,所以我认为这可能是可行的?
如果是,这个表达式是什么样子的?如果不是,为什么?
不能用正则表达式分析嵌套括号,因为这样做需要无限状态。所以答案是否定的,你要找的是上下文无关语法。