更新時間:2021-07-09 來源:黑馬程序員 瀏覽量:
正則表示“規(guī)則的、極好的”,正則表達(dá)式實(shí)際上就是規(guī)定了一組文本模式匹配規(guī)則的符號語言,一條正則表達(dá)式也稱為一個模式,使用這些模式,用戶可匹配指定文本中與表達(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)元描述成了小而簡單的自動控制元。
1951年,數(shù)學(xué)科學(xué)家Stephen Kleene在他們工作的基礎(chǔ)上,發(fā)表了一篇題為《神經(jīng)網(wǎng)事件的表示法》的論文,該論文中利用稱為正則集合的數(shù)學(xué)符號來描述此模型,引入了正則表達(dá)式的概念。之后的一段時間,人們逐漸將正則表達(dá)式應(yīng)用于包括生物、數(shù)學(xué)以及計算機(jī)科學(xué)等的各個領(lǐng)域。
在計算機(jī)領(lǐng)域中,正則表達(dá)式最先應(yīng)用于搜索算法的一些早期研究,Unix之父Ken Thompson將其引入編輯器QED,然后是Unix上的編輯器ed,并最終引入grep。自此之后,正則表達(dá)式被廣泛地應(yīng)用到了各種Unix或類Unix工具中。
隨著正則表達(dá)式的廣泛應(yīng)用,正則表達(dá)式逐漸從模糊而深奧的數(shù)學(xué)概念,發(fā)展成為計算機(jī)各類工具和軟件包應(yīng)用中的主要功能,亦有越來越多的編程語言,包括PHP、C#、Java等實(shí)現(xiàn)了對正則表達(dá)式的支持,并提供了與其操作相關(guān)的接口,Python也不例外。