注意:任何預定義字元沒有加上數量詞之前只能匹配乙個字元。
"12".matches("\\d\\d");//這裡匹配了兩個

注意:這裡只匹配乙個
匹配(matches)
匹配qq號
string qq = "123456";
string reg = "[1-9][0-9]";
boolean b = qq.matches(req);
匹配手機號碼
string reg = "1[35]\\d";
匹配郵箱
string reg = "[a-za-z1-9]\\w@[a-za-z0-9](\\.(com|cn|net))"
切割(split)
切割空格
根據重疊詞切割(正規表示式內容復用:分組)str = "-1 99 4 23";
string arr = str.split(" +");
\1:代表第一組內容,組號是從1開始
string str = "大家家家家家好好好啊";
替換(replaceall)
string reg = "1[34578]\\d"
str.replaceall(reg, "*****");
正則的外部引用分組內容,使用$符號
string str = "大大大家家家好好好";
str.replaceall("(.)\\1", "$1");
查詢使用的物件:1. pattern 物件 2. matcher物件
指定字串的正規表示式必須首先被編譯為此類的例項。然後,可將得到的正則物件匹配任意的字串用於建立matcher物件,執行匹配所涉及的所有狀態都駐留在匹配器中,所以多個匹配器可以共享同一模式。
典型的呼叫順序:
pattern p = pattern.compile("正則");
matcher m = p.matcher("aaaaab");
boolean b = m.matches();
匹配器常用的方法
find()//如果能查到符合規則的字串,則返回true,否則返回false
group()//獲取符合規則的子串
注意:使用group方法的時候一定要先呼叫find方法匹配器去查詢符合規則的字串,否則報錯
//找出三個字母的
string content = "da jia hao a "
;string reg = "\\b[a-za-z]\\b"
;pattern p = pattern.compile(reg);
matcher m = p.matcher(content);
m.find();
m.group();
上面用到了單詞邊界匹配器 :\b 單詞邊界匹配器只是代表了單詞的開始和結束部分,不匹配任何的字元
「hello world」.matches(「hello\b world」); //true
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...