Questions tagged «regular-expressions»

从Kleene的原始定义和POSIX正则表达式的意义上,对正则表达式的理论都存在疑问。

1
存在哪些用于构造DFA的算法,该DFA可以识别给定正则表达式描述的语言?
我的所有教科书都使用相同的算法来生成给定正则表达式的DFA:首先,制作一个可以识别正则表达式语言的NFA,然后使用子集(也称为“ powerset”)构造将NFA转换为等效的DFA( (可选)最小化DFA)。我也曾经听过一位教授提到其他算法。有人知道吗?也许是直接从正则表达式转换为DFA而没有中间NFA的代码?

2
显着正则表达式自动机的分类
我正在尝试拟定用于将正则表达式转换为自动机的算法的分类法,以便对其特定领域中的复杂性进行一些实证测试。 我知道几个“较大”的名称,例如, 汤普森 汤普森,“正则表达式搜索算法”,1968年 格卢什科夫 “将正则表达式转换为自动机的新的二次算法”,Ponty等。1996年 安蒂米罗夫 “正则表达式和有限自动机构造的偏导数”,Antimirov,1996年 跟随 “跟随自动机”,Ilie等。等,2003; Champarnaud等人,“计算表达式的跟随自动机”。al,2002 赫罗姆科维奇 Hromkovic等人,“将正则表达式转换为小的无电子的不确定自动机”。2001年 及其区别性(无ε,确定性,尺寸,最小化等),但我知道这并不是详尽的清单。 我对算法的兴趣特别大,这些算法呈现出的时间复杂度与上述算法大不相同,并且/或者拓扑结构也大为不同。 如果您认识其他人,将非常感谢您提供详细描述构造算法的论文的链接(如果要实施,请务必阅读!) 编辑:根据要求添加了一些参考。

1
不带正则表达式的正则表达式
我想知道正则表达式的限制会生成哪些语言集。假设所有限制对于的每个元素都有一个恒定的符号ΣΣ\Sigma和串联。然后,可以通过存在/不存在补体/否定,改变/联合和Kleene星形成八类。(是的,“正常”正则表达式没有CC^C 运算符,但这很方便。) 允许交替出现的表达式以及带或不带补码的Kleene星(在朋友中间是什么双指数爆破?)生成常规语言。允许交替和补语但不包含Kleene星的表达式生成无星语言。允许交替但不能互补的表达式或Kleene星生成有限语言。 但是,可以生成任何有趣的语言类别而无需更改吗?没有这三个运算符中的任何一个,可以生成的全部都是一个单词。补码运算符在这里没有太大帮助。 仅靠Kleene明星,这个班就有些有趣了……尚不清楚它们是否能比普通语言更快地被识别。(关于这些,有什么重要的知识吗?) 拥有Kleene明星和补饰元素……您有什么有趣的吗?这个班有名字吗? 这个问题的灵感来自于math.se上的正则表达式问题。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.