Java正則表達式教程

譯者序(下載代碼
  正則表達式善於處理文本,對匹配、搜索和替換等操作都有意想不到的作用。正因如此,正則表達式現在是作爲程序員七種基本技能之一*,因此學習和使用它在工作中都能達到很高的效率。
  正則表達式應用於程序設計語言中,首次是出現在 Perl 語言,這也讓 Perl 奠定了正則表達式旗手的地位。現在,它已經深入到了所有的程序設計語言中,在程序設計語言中,正則表達式可以說是標準配置了。
  Java 中從 JDK 1.4 開始增加了對正則表達式的支持,至此正則表達式成爲了 Java 中的基本類庫,使用時不需要再導入第三方的類庫了。Java 正則表達式的語法來源於象徵着正則表達式標準的 Perl 語言,但也不是完全相同的,具體的可以參看 Pattern 類的 API 文檔說明。
  我在一次偶然中發現了位於 java.sun.com 站點上的Java Tutorial,也在那裏看到了關於 Java 的正則表達式教程,感覺它不同於其他的正則表達式教程,文中以大量的匹配實例來進行說明。爲了能讓 Java 學習者能更好地使用正則表達式,就將其完整地譯出了。該教程中所介紹的正則表達式應用僅僅是最爲簡單的(並沒有完全地涉及到 Pattern 類支持的所有正則表達式語法,也沒有涉及到高級的應用),適合於從未接觸過或者是尚未完全明白正則表達式基礎的學習者。在學習完該教程後,應該對正則表達式有了初步的瞭解,並能熟練地運用 java.util.regex 包中的關於正則表達式的類庫,爲今後學習更高級的正則表達式技術奠定良好的基礎。
  教程中所有的源代碼都在 src 目錄下,可以直接編譯運行。由於當前版本的 Java Tutorial 是基於 JDK 6.0 的,因此其中的示例程序也用到了 JDK 6.0 中的新增類庫,但正則表達式在 JDK 1.4 就已經存在了,爲了方便大家使用,改寫了部分的源代碼,源代碼類名中後綴爲“V4”的表示用於 JDK 1.4 或以上版本,“V5”的表示用於 JDK 5.0 或以上版本,沒有這些後綴的類在各個版本中均可以正常使用。
  由於譯者的水平和技術能力有限,譯稿雖經多次校對,難免有疏漏之處,敬請大家批評和指正。若有發現不妥之處,請發送郵件至 [email protected],我會在 blog 中進行勘誤,謝謝!

    火龍果頓首!

2008 年 2 月 27 日
 



   *  這是由《程序員》雜誌社評出的,刊登在《程序員》2007 年 3 月刊上。這七種基本技能是:數組,字符串與哈希表、正則表達式、調試、兩門語言、一個開發環境、SQL 語言和編寫軟件的思想。

 

  

  本文介紹如何使用 java.util.regex API 作爲正則表達式模式匹配。雖然說這個包中可被接受的語法參數與 Perl 是相似的,但我們並不需要掌握 Perl 的語法知識。本教程將從基礎開始,逐層深入到更多的高級技巧。下面是各章節的主要內容:

0 引言

  粗略地看一下正則表達式,同時也介紹組成 API 的核心類。

1 測試用具

  編寫了一個簡單的應用程序,用於測試正則表達式的模式匹配。

2 字符串

  介紹基本的模式匹配、元字符和引用。

3 字符類

  描述簡單字符類、否定、範圍、並集、交集和差集。

4 預定義字符類

  描述空白字符、字母和數字字符等基本的預定義字符。

5 量詞

  使用貪婪(greedy)、勉強(reluctant)和侵佔(possessive)量詞,來匹配指定表達式 X 的次數。

6 捕獲組

  解釋如何把多個字符作爲一個單獨的單元進行處理。

7 邊界匹配器

  描述行、單詞和輸入的邊界。

8 Pattern 類的方法

  測試了 Pattern 中一些有用的方法,以及探究一些高級的特性,諸如:帶標記的編譯和使用內嵌標記表達式。

9 Matcher 類的方法

  描述了 Matcher 類中通常使用的方法。

10 PatternSyntaxException 類的方法

  描述瞭如何檢查一個 PatternSyntaxException 異常。

11 更多的資源

  要了解更多正則表達式,可以參考這一節。

12 問題和練習

  鞏固一下本教程所介紹的正則表達式的基本知識,並附有答案。

  爲了區分文檔中的正則表達式和普通字符串,均以\d[abc]{2}的形式表示正則表達式的模式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章