要害字: 正則表達式,Regular EXPRession
原著:笑臉
創作于:2004年05月03日
最后更新:2004年05月04日 21:12
版權聲明:使用創作公用版權協議
引用地址:<a href="http://oo8h.51.net/docs/regular_expression.htm">正則表達式(regular expression)</a>
前言
正則表達式是煩瑣的,但是強大的,學會之后的應用會讓你除了提高效率外,會給你帶來絕對的成就感。只要認真去閱讀這些資料,加上應用的時候進行一定的參考,把握正則表達式不是問題。
索引
1._引子
2._正則表達式的歷史
3._正則表達式定義
3.1_普通字符
3.2_非打印字符
3.3_非凡字符
3.4_限定符
3.5_定位符
3.6_選擇
3.7_后向引用
4._各種操作符的運算優先級
5._全部符號解釋
6._部分例子
7._正則表達式匹配規則
7.1_基本模式匹配
7.2_字符簇
7.3_確定重復出現
目前,正則表達式已經在很多軟件中得到廣泛的應用,包括*nix(linux, Unix等),HP等操作系統,php,C#,java等開發環境,以及很多的應用軟件中,都可以看到正則表達式的影子。
正則表達式的使用,可以通過簡單的辦法來實現強大的功能。為了簡單有效而又不失強大,造成了正則表達式代碼的難度較大,學習起來也不是很輕易,所以需要付出一些努力才行,入門之后參照一定的參考,使用起來還是比較簡單有效的。
例子: ^.+@.+//..+$
這樣的代碼曾經多次把我自己給嚇退過??赡芎芏嗳艘彩潜贿@樣的代碼給嚇跑的吧。繼續閱讀本文將讓你也可以自由應用這樣的代碼。
注重:這里的第7部分跟前面的內容看起來似乎有些重復,目的是把前面表格里的部分重新描述了一次,目的是讓這些內容更輕易理解。
1956 年, 一位叫 Stephen Kleene 的數學家在 McCulloch 和 Pitts 早期工作的基礎上,發表了一篇標題為“神經網事件的表示法”的論文,引入了正則表達式的概念。正則表達式就是用來描述他稱為“正則集的代數”的表達式,因此采用“正則表達式”這個術語。
隨后,發現可以將這一工作應用于使用 Ken Thompson 的計算搜索算法的一些早期研究,Ken Thompson 是 Unix 的主要發明人。正則表達式的第一個實用應用程序就是 Unix 中的 qed 編輯器。
如他們所說,剩下的就是眾所周知的歷史了。從那時起直至現在正則表達式都是基于文本的編輯器和搜索工具中的一個重要部分。
正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。
- 列目錄時, dir *.txt或ls *.txt中的*.txt就不是一個正則表達式,因為這里*與正則式的*的含義是不同的。
正則表達式是由普通字符(例如字符 a 到 z)以及非凡字符(稱為元字符)組成的文字模式。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。
由所有那些未顯式指定為元字符的打印和非打印字符組成。這包括所有的大寫和小寫字母字符,所有數字,所有標點符號以及一些符號。
新聞熱點
疑難解答