大多数UNIX正则表达式有,除了一般的**,+,?*运营商反斜杠算哪里\1,\2,...的比赛无论是在过去的括号,因此,例如*L=(a*)b\1*(非正规)语言相匹配*a^n b a^n*.
**
+
?*
\1,\2,...
*L=(a*)b\1*
*a^n b a^n*
一方面,这似乎非常强大,因为您可以创建(a*)b\1b\1匹配*a^n b a^n b a^n*堆栈自动机甚至无法识别的语言.另一方面,我很确定*a^n b^n*不能用这种方式表达.
(a*)b\1b\1
*a^n b a^n b a^n*
*a^n b^n*
我有两个问题:
pumping-lemma regular-language
pumping-lemma ×1
regular-language ×1