这是一个多节目之一的计算机科学问题的,但我想,这是出所有相关网站的最好的地方要问这个。

当我发现正则表达式,抬头我以为,“规律性”的这个属性指的是表达的语言具有自定义结构模式的事实项。然而,在阅读有关此主题的理论背后我了解到,有三种语言是不规律的,然而从他们的定义很明显的图案可以匹配他们的方式。一种这样的语言为(a ^ n)的(B ^ n)中。显然,这是一个模式,然而这不是一个普通的语言。所以现在我在想它是什么正规语言,使他们有规律,而这个语言呢?

有帮助吗?

解决方案

名称的词源来自克林的20世纪50年代的工作描述的正则集的使用他的目的创建数学符号。请参阅

其他提示

直观地说明计算机科学...棘手。我给它一个镜头,但请记住,一些这将是“足够接近”,而不是理论上的严谨。

一个正则语言是一个可以由一台机器,是计算相当于一个有限自动机(DFA / NDFA)来决定。甲有限自动机可以被看作是在纯粹的状态操作,没有存储的机器。所以,你可以看到一个名词 B'SUP>名词,因为它需要一台能够计算A和B的数量(因此必须有无限*存储容量)不能定期为了比较它们。

为了比较,(ABC)名词规则,因为重复的次数是无关的。

有关的更严格的(以及相应更致密的视图)查看维基百科文章和链接页

<子> *无限此处无关紧要,但我提到它的完整性。它可能会更容易把它看成“很幸运,总是刚好够”存储。

也许在正规语言可以解释它比我们能更好的维基百科的文章。不过,我给它一个镜头。

从理论的角度来看,一个正则语言(组字符串)是可以使用有限状态自动机。在程序员来说,这等于说可以使用正则表达式产生。因此,所有的有限语言(琴弦组)是规则的,但也有一些无限语言,诸如名词 B'SUP>名词(的所有字符串的语言NA的后跟n b的),可以不使用FSA或正则表达式识别。还有更强大的计算设备(如现代计算机,它使用的是模拟图灵机),这可以识别的语言。

正则表达式中使用如此多的编程字符串搜索的原因是,它们可以识别大部分是对我们非常重要程序员的字符串,并在同一时间可以执行搜索非常快速使用有限状态自动机。

regularregular expression指规则的,而不是英语概念的数学概念。就像如何在数学字prime承担多少关系的主要牛肉。

HTTP:

它是由CS(这是数学的一个分支)来指代一个更具体的概念继承://en.wikipedia.org/wiki/Regular_language

正则表达式是不是真的规则,名称是词源。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top