Java--Regex-簡單的在字串中找數字,java--Regex

來源:互聯網
上載者:User

Java--Regex-簡單的在字串中找數字,java--Regex

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

 

附上一張Regex元字元文法:

子運算式 匹配對應
^ 匹配一行的開頭
$ 匹配一行的結尾
. 匹配除了分行符號的任何單個字元,也可以利用 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) Regex組匹配文本記憶
(?: re) 沒有匹配文本記憶的Regex組
(?> 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開始的引用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.