如果我们用 operator *
、|
concatenation .
(为了清楚起见,我们简单地省略了)、括号(
和)
来自一些字母的一些字母Sigma
来描述正则表达式,那么描述正则表达式的语言本身就是正则表达式吗?在我看来不,因为我们有括号这一事实意味着没有有限状态机可以识别输入,所以它必须是一种上下文无关的语言。
注意题外话
我坚持我的立场,即这个问题与编程有关,因为我是在考虑编写正则表达式识别器时提出这个问题的。如果有人想要实现这样的事情,那么很快就会意识到您实际上需要一个上下文无关的解析器来解析正则表达式,这个问题将回答这个问题。此外,答案和问题并不是“非常理论化”,因为有限自动机的主题被认为是 1 年级和 2 年级本科生材料,因此将其放在理论计算机科学 Stackexchange 中将是一种矫枉过正。