Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Java正則表達式

Java正則表達式

編輯:關於Android編程

一、正則表達式是什麼

正則表達式即定義了符合一定規范的字符串,用來約束給定字符串的形式,通過一定的模式來操作給定的字符串。常見的操作有匹配、分割和替換等操作。

對字符串的操作一般用java.util.regex包下的Pattern和Matcher來配合操作。通常用的String類對字符串的正則操作內部也是用的前面兩者來實現的。

二、 常用的匹配規則

1 字符

構造 匹配 x 字符 x \\ 反斜線字符 \0n 帶有八進制值 0 的字符 n (0 <= n <= 7) \0nn 帶有八進制值 0 的字符 nn (0 <= n <= 7) \0mnn 帶有八進制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7) \xhh 帶有十六進制值 0x 的字符 hh \uhhhh 帶有十六進制值 0x 的字符 hhhh \t 制表符 (‘\u0009’) \n 新行 (換行)符 (‘\u000A’) \r 回車符 (‘\u000D’) \f 換頁符 (‘\u000C’) \a 報警 (bell) 符 (‘\u0007’) \e 轉義符 (‘\u001B’) \cx 對應於 x 的控制符

2 字符類

構造 匹配 [abc] a、b 或 c(簡單類) [^abc] 任何字符,除了 a、b 或 c(否定) [a-zA-Z] a 到 z 或 A 到 Z,兩頭的字母包括在內(范圍) [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](並集) [a-z&&[def]] d、e 或 f(交集) [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](減去) [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](減去)

3 預定義字符類

構造 匹配 . 任何字符(與行結束符可能匹配也可能不匹配),若要表示點用\. \d 數字:[0-9] \D 非數字: [^0-9] \s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] \w 單詞字符:[a-zA-Z_0-9] \W 非單詞字符:[^\w]

4 邊界匹配器

構造 匹配 ^ 行的開頭 $ 行的結尾 \b 單詞邊界 \B 非單詞邊界 \A 輸入的開頭 \G 上一個匹配的結尾 \Z 輸入的結尾,僅用於最後的結束符(如果有的話) \z 輸入的結尾

5 Greedy 數量詞

構造 匹配 X? X,一次或一次也沒有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,但是不超過 m 次

6 特殊構造(非捕獲)

構造 匹配 (?:X) X,作為非捕獲組 (?idmsux-idmsux) Nothing,但是將匹配標志i d m s u x on - off (?idmsux-idmsux:X) X,作為帶有給定標志 i d m s u x on - off (?=X) X,通過零寬度的正 lookahead (?!X) X,通過零寬度的負 lookahead (?<=X) X,通過零寬度的正 lookbehind (?