《Mastering Regular Expressions》讀書筆記
近段涉及到了資料的解析,自然離不開對regular expressions(正則表示式)的溫習;在jdk官方原始碼中看到了對《mastering regular expressions, 2nd edition》的推薦;由jeffrey e.f. friedl大師主刀,o'reilly於XX年再版。對o'reilly的書向有好感,像當年誤入java的歧途,沒看java程式設計思想之類的,倒看了o'reilly的一本影印版《java in a nutshell》,頗留記憶。
正則表示式的“祖先”可以一直上溯至對人類神經系統如何工作的早期研究。warren mcculloch 和 walter pitts 這兩位神經生理學家研究出一種數學方式來描述這些神經網路。1956 年, 一位叫 stephen kleene 的數學家在 mcculloch 和 pitts 早期工作的基礎上,發表了一篇標題為“神經網事件的表示法”的論文,引入了正則表示式的概念。正則表示式就是用來描述他稱為“正則集的代數”的表示式,因此採用“正則表示式”這個術語。
隨後,發現可以將這一工作應用於使用 ken thompson 的計算搜尋演算法的一些早期研究,ken thompson 是 unix 的主要發明人。正則表示式的第一個實用應用程式就是 unix 中的 qed 編輯器。
目前,正則表示式已經在很多軟體中得到廣泛的應用,包括*nix(linux, unix等),hp等作業系統;php,perl,python,c#,java等開發環境,以及很多的應用軟體中,for example:網路上的搜尋引擎,資料庫的全文檢索etc...
本筆記是是自我學習過程的一個整理,例子或來源於書本,或自己列舉。好了,廢話一籮筐,切入正題。
1、正則表示式的介紹
1.1、行開始和結束
^begin line。匹配行開頭,如^cat匹配以cat開頭的
$end line。匹配行結束,如cat$匹配以cat結束的;^cat$僅僅匹配該行有cat
1.2、匹配給定的字元序列
[...],表示in。裡面寫入欲匹配的幾個字元,如
1.3、匹配非給定的字元(非...)
[^]匹配,表示not。^和行開頭的標記完全一樣,但寫的位置不一樣,則表述的意思可能完全相反,用^表示否定的意思,更多是寫在[]裡面,如:q[^u]匹配q後面緊跟非u的字元,如iraqi,qasida,zaqqum,iraq;沒錯,"iraq"這個單詞也會被匹配,儘管q後面什麼也沒有,也可能有個空格、或回車符等。否定字元的意思(翻譯出來繞口):means "match a character that's not listed" and not "don't match what is listed."
1.4、匹配任何字元
.匹配,表示any。任何字元,如07.04匹配:07_04,07-04,07 04,07.04 etc;如想要精確匹配07/04,07-04,or 07.04;需要寫07[-./]04;沒錯當.在[]裡面包含的時候,僅僅表示“.”字元而已,如果不在[]裡面,需要轉義. 如匹配形如x.y的小數:是[0-9].[0-9],而非[0-9].[0-9]
1.5、匹配幾個給定的字元序列中的一個
|匹配,表示or。to be continued....
相關文章
-
英文求職信-Human Resources - Assistant Personnel Manager
dear mr ho application for the position of assistant personnel managermy interest in the above position as advertised in the on january 4 has prompted me to forward my resume for your review.during t -
PROVISIONAL AGREEMENT FOR SALE AND PURCHASE
provisional agreement for sale and purchase this agreement is made on between(1) (holder(s) of hong kong identity card(s) no(s). and holder of certificate of availability for sale no.) of (hereinafter -
President Bush Lights National Christmas Tree英語演講稿
December 5,2019THE PRESIDENT: Thank you very much. With the lighting of the National Christmas Tree, we observe one of the great traditions of our nation's capital. And throughout the Christmas se -
英文簡歷(客戶服務代表)CUSTOMER SERVICE REPRESENTATIVE(Sales)大綱
Sandy Lin 15/F,TOWER2 ,BRIGHT CHINA,BUILDING1,BEIJING.SUMMARY OF QUALIFICATIONSDemonstrated ability in the provision of sales support udes establishment of the client base,extensive customer servicing -
英文簡歷(客戶服務代表)CUSTOMER SERVICE REPRESENTATIVE(Sales)
Sandy Lin 15/F,TOWER2 ,BRIGHT CHINA,BUILDING1,BEIJING.SUMMARY OF QUALIFICATIONSDemonstrated ability in the provision of sales support udes establishment of the client base,extensive customer servicing -
英文簡歷(後勤)HUMAN SERVICES WORKER(General)
Sandy Lin 15/F,TOWER2 ,BRIGHT CHINA,BUILDING1,BEIJING.WORK EXPERIENCE1987 to PresentHuman Service Relief Worker:Temporary Resources,Columbus,INWork as a temporary substitute in a variety of human serv -
英文簡歷(客戶服務代表)CUSTOMER SERVICE REPRESENTATIVE(Sale
sandy lin 15/f,tower2 ,bright china,building1,beijing.summary of qualificationsdemonstrated ability in the provision of sales support udes establishment of the client base,extensive customer servicing -
關於員工心理援助方案(EAPs -Employee Assistance Programs)問答
Q1:什麼是員工心理援助方案? 員工心理援助方案是由公司向所有員工及其家屬(下面簡稱員工)提供的一項免費的、專業的諮詢服務計劃。在這項計劃中,專業人員將協助公司尤其是HR部門,對員工進行諮詢、培訓及指導服務,及時處理和 -
英文求職信-Building / Real Estate - Masonry Supply Manager
dear mr ho application for the position of masonry supply managerin response to your advertisement in on january 4 regarding the above position, i hereby enclose my resume for your consideration.i ha -
Obama's Weekly Address:Closing Corporate Tax Loopholes
在平日的學習、工作和生活裡,大家都嘗試過寫作文吧,寫作文是培養人們的觀察力、聯想力、想象力、思考力和記憶力的重要手段。相信寫作文是一個讓許多人都頭痛的問題,以下是小編收集整理的未來的馬作文,歡迎閱讀,希望大家能