2022年5月20日 星期五

正則表達式 (regex) 簡介 (part 1)

0

1.什麼是正則表達式


正規表示式,又稱正則表達式、正規表示法、常規表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),電腦科學的一個概念。正規表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。在很多文字編輯器裡,正則運算式通常被用來檢索、替換那些符合某個模式的文字。

許多程式語言都支援利用正則運算式進行字串操作。例如,在Perl中就內建了一個功能強大的正則運算式引擎。正則運算式這個概念最初是由Unix中的工具軟體(例如sed和grep)普及開的。正規表示式通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。



2. 歷史

最初的正規表示式出現於理論電腦科學的自動控制理論和形式化語言理論中。在這些領域中有對計算(自動控制)的模型和對形式化語言描述與分類的研究。 1940年,Warren McCulloch與Walter Pitts將神經系統中的神經元描述成小而簡單的自動控制元。 1950年代,數學家史蒂芬·科爾·克萊尼利用稱之為「正則集合」的數學符號來描述此模型。肯·湯普遜將此符號系統引入編輯器QED,然後是Unix上的編輯器ed,並最終引入grep。自此,正則運算式被廣泛地使用於各種Unix或者類似Unix的工具,例如Perl。

Perl的正規表示式源自於Henry Spencer寫的regex,它已經演化成了pcre(Perl相容正規表示式,Perl Compatible Regular Expressions),一個由Philip Hazel開發的,為很多現代工具所使用的庫。

各電腦語言之間的正則運算式的整合目前開展的很差。未來的Perl6的子專案Apocalypse的設計中已考慮到了這點。

Regular Expression Online Tester
http://regexpal.com/
http://regex101.com/

Wiki
http://en.wikipedia.org/wiki/Regular_expression

http://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F


References
http://www.dotblogs.com.tw/yc421206/archive/2008/12/14/6386.aspx
http://atedev.wordpress.com/2007/11/23/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8F-regular-expression/
http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.90).aspx
http://jimmy0222.pixnet.net/blog/post/36958819-%5B%E8%BD%89%E8%B2%BC%5D-%E5%B9%BE%E7%A8%AE%E5%9F%BA%E6%9C%AC%E7%9A%84%E6%95%B8%E5%AD%97%E6%AD%A3%E5%89%87%E8%A1%A8%E9%81%94%E5%BC%8F


0 意見:

張貼留言