有些人可以向我解释为什么你不能使用正则表达式来描述递归结构。
例如
答案 0 :(得分:3)
因为正则表达式(至少是常规语言)对应于有限状态机。您需要无限数量的状态来跟踪任意级别的嵌套。
答案 1 :(得分:2)
即使正则表达式不能通过正式定义来表达递归,但对于像Perl和Ruby这样的语言,有“正则表达式”implementations that support recursion。
对于python,还有一个alternative regex implementation支持递归,它不在标准库中。
但同样,regular languages没有递归结构,因此正式的正则表达式无法按定义表达递归结构。