【发布时间】:2013-04-27 05:31:06
【问题描述】:
我只是对正则表达式有点困惑。是否存在识别无限语言的正则表达式或所有正则表达式都识别有限语言?
【问题讨论】:
标签: regex computer-science theory regular-language
我只是对正则表达式有点困惑。是否存在识别无限语言的正则表达式或所有正则表达式都识别有限语言?
【问题讨论】:
标签: regex computer-science theory regular-language
构建识别无限语言的正则表达式绝对是可能的。比如简单的正则表达式a*匹配无限语言
{ ε, a, aa, aaa, aaaa, ... }
星号运算符在正则表达式中是必不可少的,它使它们能够识别无限的字符串集。
确实所有有限语言都是正则的,但并非所有正则语言都是有限的(如上所示)。形式语言理论告诉我们,虽然有很多语言是无限的但不是正则的(例如 {0n1n | n ≥ 0}),所以您不能总是为任意无限语言编写正则表达式。
希望这会有所帮助!
【讨论】: