神奇的Regular Expression For Java
Java 在 1.4 版後開始才加入一個 java.util.regex 的函式庫 ,但是對sed和awk這樣的Unix的標準實用工具,以及Python,Perl之類的語言來講,它早就已經成為其不可或缺的組成部分了。
正規表示式的“祖先”可以一直上溯至對人類神經系統如何工作的早期研究。Warren McCulloch 和 Walter Pitts 這兩位神經生理學家研究出一種數學方式來描述這些神經網路。
1956 年, 一位叫 Stephen Kleene 的數學家在 McCulloch 和 Pitts 早期工作的基礎上,發表了一篇標題為“神經網事件的表示法”的論文,引入了正規表示式的概念。正規表示式就是用來描述他稱為“正則集的代數”的運算式,因此採用“正規表示式”這個術語。
隨後,發現可以將這一工作應用於使用 Ken Thompson 的計算搜索演算法的一些早期研究,Ken Thompson 是 Unix 的主要發明人。正規表示式的第一個實用應用程式就是 Unix 中的 qed 編輯器。
如他們所說,剩下的就是眾所周知的歷史了。從那時起直至現在正規表示式都是基於文本的編輯器和搜索工具中的一個重要部分。
雖然初看起來正規表示式的語法有點讓人望而生畏,但它提供了一種精練的動態語言,使我們能用一種通用的方式來解決各種字串的問題,包括匹配,選擇,編輯以及校驗。
以前都只會用基本的Regular Expression,而且都沒有熟讀,所以半調子的用法下,就是對它產生敬畏,不過在自已實際玩了之後,還蠻容易的,加上Eclipse 工具中plug in工具 (QuickREx)可以進行驗證,這下更讓人很容易可以寫出神奇的表示式了,原本是想再更用功的,寫一篇詳細點的工具文章,不過在查了一下網路上的文章後,發現大家都寫的還不錯,所以就以純欣賞的角度來觀看其它人的文章囉 。能靈活運用Regular Expression,可以讓程式精簡、效率增強,重點是~一堆符號可以讓一些低階工程師對你景仰不已…呵~~呵!!
以下是二套在Eclipse 可以驗證Regular Expression的工具,使用蠻方便的,我目前是使用QuickRex,簡單好用,大家可以去試試看!!
QuickRex match 的字串他會highlight起來,感覺還不賴!! 但要注意的是,這裡寫好的R egular Expression的字串,在Java程式使用時,因為 \的問題,所以都要再多補一個才行喔!

Regular Expression Tester 蠻不錯用的功能,最重點的是他有tip 提示,這樣就不用在傷透腦筋時一直在翻文件了,不過這個需要license

我有閱讀的相關文章出處:
JavaWorld@TW – Java Regular Expression的學習筆記 作者:kebin_liu
Java 與 Regular Expression 作者:陳鍾誠
正则表达式——Java篇 作者:mienflying
正则表达式的历史


近期留言