为什么正则表达式称为常规表达式?
答案 0 :(得分:29)
它们基于regular languages。
答案 1 :(得分:15)
为什么他们被称为“正则表达式?”
正则表达式追溯到 美国数学家的工作 斯蒂芬克林的名字(其中之一) 最有影响力的人物 理论计算机的发展 经常发展的科学) 表达式作为表示法 描述他所谓的“代数” 常规集。“他的工作最终 找到了早期努力的方法 使用计算搜索算法, 从那里到最早的一些 Unix上的文本操作工具 平台(包括ed和grep)。在 计算机搜索的背景, “*”正式名称为“Kleene” 星“。
来自here。
答案 2 :(得分:6)
Kleene对“常规事件”的意思是由一组神经细胞处理的事件 - 一种感知或思考的事件。 Kleene的论文没有说明计算机,编程,在文本中匹配模式或在计算机上搜索文本,纸张甚至没有在计算机上或附近编写,正如打字稿所示。
正如你可以在精彩的克里斯托弗·凯尔蒂(Christopher M. Kelty)的书中所读到的,正则表达的优秀历史 [逻辑工具:正则表达式,人工智能和思考思考](2011)1
正则表达式起源于McCulloch在20世纪30年代的神经学和神经生物学。后来在20世纪40年代,McCulloch和Pitts所取得的成就在工程学,计算机科学和数学方面比在生物学或神经科学方面更具影响力。以麦卡洛克和皮茨的神经网络逻辑演算为出发点的作品在数学和计算机科学中一直非常丰富。完全正式化,至少从McCulloch和Pitts本人开始,他们的1947年论文“我们如何知道普遍性”和1959年他们用Lettvin和Maturana写的论文,“什么是青蛙 Eye告诉青蛙的大脑“[Lettvin et al。,1959,Pitts and McCulloch,1947]都放弃了与命题计算或图灵机的严格形式等价,支持更复杂的生物模型,这些模型不太适合逻辑操纵。 / p> 麦卡洛克的兴趣最初是寻找他所假设的“心理学” - 或神经活动的原子单位,他在20世纪30年代与耶鲁生理学家J.G.合作进行的生理学研究中首次寻求这种兴趣。 Dusser de Barenne。在20世纪40年代早期,McCulloch被Jerome Lettvin介绍给了Walter Pitts,并由此引入了芝加哥大学的Nicholas Rashevsky的数学生物学小组,Walter Pitts在那里与Rashevsky和数学家Alston Householder一起积极研究神经活动模型。
两者之间的合作至多是不平衡的。皮克洛克四十多岁,皮茨 是17岁;麦卡洛克在生理学和哲学方面度过了他的职业生涯,皮茨在各种各样的,有时甚至不可靠的说法是一个数学天才,他在底特律的家中逃离并在芝加哥的一个公园遇到了伯特兰罗素[Smalheiser,2000,Schlatter和Aizawa,2008] 。然而,他们一起设法将中间遇到的东西拼凑在一起,这篇论文证明了神经活动的合理模型与逻辑演算之间的形式等价。
麦卡洛克和皮茨的部分灵感来自他们的论文是图灵的机器。正如Tara Abraham所说:“图灵能够定义复杂的计算过程 在“机械”术语中,简单算法的概念如此详尽,严谨和明确,执行者不需要“数学知识”来执行其任务。“[Abraham,2003,18]这种自动计算识别程序为McCulloch和Pitts提供了灵感,可以将一组神经建模为可以在没有数学知识的情况下计算出来的东西。
事后看来,McCulloch和Pitts所取得的成就在工程学,计算机科学和数学方面远远超过生物学或神经科学方面的影响力。
Kleene, Stephen C. (1956), "Representation of events in nerve nets and finite automata"
着名的1959年由J. Y. Lettvin撰写的论文,H. R. Maturana,W。S. McCulloch和W. H. Pitts,What the Frog's Eye Tells the Frog's Brain
1968年,Ken Thompson为CACM发表了一篇简短的“编程技巧”论文,其中他描述了“Regular Expression Search Algorithm”
答案 3 :(得分:3)
因为使用实际上是常规的。请参阅http://en.wikipedia.org/wiki/Regular_language和http://en.wikipedia.org/wiki/Regular_expressions。拉里·沃尔(Larry Wall)主张将现代版本称为regexen,因为它们不再是常规版本。
答案 4 :(得分:0)