正則表達式定義了字符串的模式。
正則表達式可以用來搜索、編輯或處理文本。
正則表達式并不僅限于某一種語言,但是在每種語言中有細微的差別。
正則表達式實例
一個字符串其實就是一個簡單的正則表達式,例如 Hello World 正則表達式匹配 "Hello World" 字符串。
.(點號)也是一個正則表達式,它匹配任何一個字符如:"a" 或 "1"。
下表列出了一些正則表達式的實例及描述:
正則表達式 描述
this is text
匹配字符串 "this is text"
this\s+is\s+text
注意字符串中的 \s+。
匹配單詞 "this" 后面的 \s+ 可以匹配多個空格,之后匹配 is 字符串,再之后 \s+ 匹配多個空格然后再跟上 text 字符串。
可以匹配這個實例:this is text
^\d+(\.\d+)?
^ 定義了以什么開始
\d+ 匹配一個或多個數(shù)字
? 設(shè)置括號內(nèi)的選項是可選的
\. 匹配 "."
可以匹配的實例:"5", "1.5" 和 "2.21"。
Java 正則表達式和 Perl 的是最為相似的。
java.util.regex 包主要包括以下三個類:
Pattern 類:
pattern 對象是一個正則表達式的編譯表示。Pattern 類沒有公共構(gòu)造方法。要創(chuàng)建一個 Pattern 對象,你必須首先調(diào)用其公共靜態(tài)編譯方法,它返回一個 Pattern 對象。該方法接受一個正則表達式作為它的第一個參數(shù)。
Matcher 類:
Matcher 對象是對輸入字符串進行解釋和匹配操作的引擎。與Pattern 類一樣,Matcher 也沒有公共構(gòu)造方法。你需要調(diào)用 Pattern 對象的 matcher 方法來獲得一個 Matcher 對象。
PatternSyntaxException:
PatternSyntaxException 是一個非強制異常類,它表示一個正則表達式模式中的語法錯誤。