phpRegex學習手冊(1/5)

來源:互聯網
上載者:User

php教程的Regex完全手冊

前言

   Regex是煩瑣的,但是強大的,學會之後的應用會讓你除了提高效率外,會給你帶來絕對的成就感。只要認真去閱讀這些資料,加上應用的時候進行一定的參考,掌握Regex不是問題。

索引

   1._引子
   2._Regex的曆史
   3._Regex定義

    3.1_一般字元
    3.2_非列印字元
    3.3_特殊字元
    3.4_限定符
    3.5_定位器
    3.6_選擇
    3.7_後向引用

   4._各種操作符的運算優先順序
   5._全部符號解釋
   6._部分例子
   7._Regex匹配規則

    7.1_基本模式比對
    7.2_字元簇
    7.3_確定重複出現
1. 引子
   目前,Regex已經在很多軟體中得到廣泛的應用,包括*nix(linux, unix等),hp等作業系統,php,c#,java等開發環境,以及很多的應用軟體中,都可以看到Regex的影子。

   Regex的使用,可以通過簡單的辦法來實現強大的功能。為了簡單有效而又不失強大,造成了Regex代碼的難度較大,學習起來也不是很容易,所以需要付出一些努力才行,入門之後參照一定的參考,使用起來還是比較簡單有效。

   例子: ^.+@.+..+$

   這樣的代碼曾經多次把我自己給嚇退過。可能很多人也是被這樣的代碼給嚇跑的吧。繼續閱讀本文將讓你也可以自由應用這樣的代碼。

   注意:這裡的第7部分跟前面的內容看起來似乎有些重複,目的是把前面表格裡的部分重新描述了一次,目的是讓這些內容更容易理解。
2. Regex的曆史

   Regex的“祖先”可以一直上溯至對人類神經系統如何工作的早期研究。warren mcculloch 和 walter pitts 這兩位神經生理學家研究出一種數學方式來描述這些神經網路。

   1956 年, 一位叫 stephen kleene 的數學家在 mcculloch 和 pitts 早期工作的基礎上,發表了一篇標題為“神經網事件的標記法”的論文,引入了Regex的概念。Regex就是用來描述他稱為“正則集的代數”的運算式,因此採用“Regex”這個術語。

   隨後,發現可以將這一工作應用於使用 ken thomps教程on 的計算搜尋演算法的一些早期研究,ken thompson 是 unix 的主要發明人。Regex的第一個實用應用程式就是 unix 中的 qed 編輯器。

   如他們所說,剩下的就是眾所周知的曆史了。從那時起直至現在Regex都是基於文本的編輯器和搜尋工具中的一個重要部分。

3. Regex定義

   Regex(regular expression)描述了一種字串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。

   列目錄時, dir *.txt或ls *.txt中的*.txt就不是一個Regex,因為這裡*與正則式的*的含義是不同的。

   Regex是由一般字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。Regex作為一個模板,將某個字元模式與所搜尋的字串進行匹配。 

首頁 1 2 3 4 5 末頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.