正規表示式 | regular expression meaning
「正規表示式」的各地常用別名中國大陸正則表達式臺灣正規表示式[1]、正規表示法、規則運算式港澳正則表達式正規表示式(英語:Regularexpression,常簡寫為regex、regexp或RE),又稱規律表達式、正規表達式、正規表示法、規則運算式、常規表示法,是電腦科學概念,用簡單字串來描述、符合文中全部符合指定格式的字串,現在很多文字編輯器都支援用正則表達式搜尋、取代符合指定格式的字串。許多程式設計語言都支援用正則表達式操作字串,如Perl就內建功能強大的正則表達式引擎。正則表達式這概念最初由Unix的工具軟體(例如sed和grep...
「正規表示式」的各地常用別名中國大陸正則表達式 臺灣正規表示式[1]、正規表示法、規則運算式 港澳正則表達式正規表示式(英語:Regular expression,常簡寫為regex、regexp或RE),又稱規律表達式、正規表達式、正規表示法、規則運算式、常規表示法,是電腦科學概念,用簡單字串來描述、符合文中全部符合指定格式的字串,現在很多文字編輯器都支援用正則表達式搜尋、取代符合指定格式的字串。
許多程式設計語言都支援用正則表達式操作字串,如Perl就內建功能強大的正則表達式引擎。正則表達式這概念最初由Unix的工具軟體(例如sed和grep)普及開。
譯名問題[編輯]描述字串規律的表達式原應順理成章稱為規律表達式(pattern expression/rule expression),但卻叫成有欠準確的regular expression,導致現在有多種中譯名,如將regular譯成規律、規則、正則、正規或常規,將expression譯成表達式、表達式、表示法或運算式等。
最初的正規表示式出現於理論電腦科學的自動控制理論和形式化語言理論中。在這些領域中有對計算(自動控制)的模型和對形式化語言描述與分類的研究。
1940年,沃倫·麥卡洛克與沃爾特·皮茨將神經系統中的神經元描述成小而簡單的自動控制元。
1950年代,數學家史蒂芬·科爾·克萊尼利用稱之為「正規集合」的數學符號來描述此模型。肯·湯普遜將此符號系統引入編輯器QED,隨後是Unix上的編輯器ed,並最終引入grep。自此以後,正則表達式被廣泛地應用於各種Unix或類Unix系統的工具中。正規表示式的POSIX規範,分為基本型正規表示式(Basic Regular Expression,BRE)和擴充型正規表示式(Extended Regular Expression,ERE)兩大流派。在相容POSIX的UNIX系統上,grep和egrep之類的工具都遵循POSIX規範,一些資料庫系統中的正規表示式也符合POSIX規範。grep、vi、sed都屬於BRE,是歷史最早的正規表示式,因此元字元必須轉譯之後才具有特殊含義。egrep、awk則屬於ERE,元字元不用轉譯。
Perl的正規表示式源自於Henry ...