Java--正則表達式-簡單的在字符串中找數字


import org.junit.Test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest {

    @Test
    public void test(){
        String line = "This order was placed for QT3000! OK?";
        String pattern = "\\d+";

        // Create a Pattern object
        Pattern r = Pattern.compile(pattern);

        // Now create matcher object.
        Matcher m = r.matcher(line);
        if (m.find( )) {
            System.out.println("Found value: " + m.group() );
        } else {
            System.out.println("NO MATCH");
        }
    }
}

 

其中\d+是匹配1個或者更多個數字。

最后輸出結果為:3000

 

附上一張正則表達式元字符語法:

子表達式 匹配對應
^ 匹配一行的開頭
$ 匹配一行的結尾
. 匹配除了換行符的任何單個字符,也可以利用 m 選項允許它匹配換行符
[...] 匹配括號內的任意單個字符。
[^...] 匹配不在括號內的任意單個字符。
\A 整個字符串的開始
\z 整個字符串的結束
\Z 整個字符串的結束,除了最后一行的結束符
re* 匹配0或者更多的前表達事件
re+ 匹配1個或更多的之前的事件
re? 匹配0或者1件前表達事件
re{ n} 匹配特定的n個前表達事件
re{ n,} 匹配n或者更多的前表達事件
re{ n, m} 匹配至少n最多m件前表達事件
a| b 匹配a或者b
(re) 正則表達式組匹配文本記憶
(?: re) 沒有匹配文本記憶的正則表達式組
(?> re) 匹配無回溯的獨立的模式
\w 匹配單詞字符
\W 匹配非單詞字符
\s 匹配空格。等價於 [\t\n\r\f]
\S 匹配非空格
\d 匹配數字. 等價於 [0-9]
\D 匹配非數字
\A 匹配字符串的開始
\Z 匹配字符串的末尾,如果存在新的一行,則匹配新的一行之前
\z 匹配字符串的末尾
\G 匹配上一次匹配結束的地方
\n 返回參考捕獲組號“N”
\b 不在括號里時匹配單詞邊界。在括號里時匹配退格鍵
\B 匹配非詞邊界
\n, \t, etc. 匹配換行符,回車符,制表符,等
\Q 引用字符的初始,結束於\E
\E 結束由\Q開始的引用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM