首頁技術(shù)文章正文

什么是正則表達(dá)式?正則表達(dá)式的起源與發(fā)展?

更新時(shí)間:2021-07-09 來源:黑馬程序員 瀏覽量:

好口碑IT培訓(xùn)

正則表示“規(guī)則的、極好的”,正則表達(dá)式實(shí)際上就是規(guī)定了一組文本模式匹配規(guī)則的符號(hào)語言,一條正則表達(dá)式也稱為一個(gè)模式,使用這些模式,用戶可匹配指定文本中與表達(dá)式模式相同的字符串。

正則表達(dá)式也可理解為描述字符串結(jié)構(gòu)模式的形式化表達(dá)“方法”或“思想”,它與一些特定工具搭配使用,可以實(shí)現(xiàn)包括添加、刪除、分離、插入、選擇等各種文本分析功能。

正則表達(dá)式的起源:

正則表達(dá)式(regular expression)起源于兩位神經(jīng)生理方面的科學(xué)家——美國新澤西州的Warren McCulloch和出生在美國底特律的Walter Pitts——研究出的一種用數(shù)學(xué)方式來描述神經(jīng)網(wǎng)絡(luò)的新方法,他們創(chuàng)造性地將神經(jīng)系統(tǒng)中的神經(jīng)元描述成了小而簡(jiǎn)單的自動(dòng)控制元。

1951年,數(shù)學(xué)科學(xué)家Stephen Kleene在他們工作的基礎(chǔ)上,發(fā)表了一篇題為《神經(jīng)網(wǎng)事件的表示法》的論文,該論文中利用稱為正則集合的數(shù)學(xué)符號(hào)來描述此模型,引入了正則表達(dá)式的概念。之后的一段時(shí)間,人們逐漸將正則表達(dá)式應(yīng)用于包括生物、數(shù)學(xué)以及計(jì)算機(jī)科學(xué)等的各個(gè)領(lǐng)域。

在計(jì)算機(jī)領(lǐng)域中,正則表達(dá)式最先應(yīng)用于搜索算法的一些早期研究,Unix之父Ken Thompson將其引入編輯器QED,然后是Unix上的編輯器ed,并最終引入grep。自此之后,正則表達(dá)式被廣泛地應(yīng)用到了各種Unix或類Unix工具中。

1625803242965_正則表達(dá)式起源.jpg


隨著正則表達(dá)式的廣泛應(yīng)用,正則表達(dá)式逐漸從模糊而深?yuàn)W的數(shù)學(xué)概念,發(fā)展成為計(jì)算機(jī)各類工具和軟件包應(yīng)用中的主要功能,亦有越來越多的編程語言,包括PHP、C#、Java等實(shí)現(xiàn)了對(duì)正則表達(dá)式的支持,并提供了與其操作相關(guān)的接口,Python也不例外。




猜你喜歡:

正則表達(dá)式和編程語言無關(guān)的文本匹配規(guī)則

Scala的方法和函數(shù)講解【黑馬程序員】

如何理解目標(biāo)檢測(cè)中的IOU函數(shù)?

黑馬程序員Python+大數(shù)據(jù)開發(fā)培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!