java常用正則-Pattern


\    將下一個字符標記爲一個特殊字符、或一個原義字符、或一個 向後引用、或一個八進制轉義符。
^    匹配輸入字符串的開始位置
$    匹配輸入字符串的結束位置
.    匹配除換行符(\n、\r)之外的任何單個字符。
\d    匹配一個數字字符。等價於 [0-9]。
\D    匹配一個非數字字符。等價於 [^0-9]。
\s    匹配任何空白字符,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。
\S    匹配任何非空白字符。等價於 [^ \f\n\r\t\v]。
\w    匹配字母、數字、下劃線。等價於'[A-Za-z0-9_]'。
\W    匹配非字母、數字、下劃線。等價於 '[^A-Za-z0-9_]'。


x|y    匹配 x 或 y。
[xyz]    字符集合。
[^xyz]    負值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'、'l'、'i'、'n'。
[a-z]    字符範圍。匹配指定範圍內的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 範圍內的任意小寫字母字符。
[^a-z]    負值字符範圍。匹配任何不在指定範圍內的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 範圍內的任意字符。

*    匹配前面的子表達式零次或多次。例如,z* 能匹配 "z" 以及 "zoo"。* 等價於{0,}。
+    匹配前面的子表達式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 {1,}。
?    匹配前面的子表達式零次或一次。
{n}     n 是一個非負整數。匹配確定的 n 次
{n,}    n 是一個非負整數。至少匹配n 次
{n,m}    m 和 n 均爲非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。

        String str = "hello,word    hello,123 hello,spark";
        String paternStr = "(.*)\\s(.*\\d{1,})\\s(.*)";
        Pattern pattern = Pattern.compile(paternStr);
        Matcher matcher = pattern.matcher(str);
        if (matcher.find()) {
            System.out.println(matcher.group(0));
            System.out.println(matcher.group(1));
            System.out.println(matcher.group(2));
            System.out.println(matcher.group(3));
        }

發佈了16 篇原創文章 · 獲贊 1 · 訪問量 2037
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章