注意:任何預定義字元沒有加上數量詞之前只能匹配乙個字元。
"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...
C 11正規表示式
優勢 使得字串的處理更加簡單 一些相關的操作 驗證 檢查字串是否是想要的合法性 決策 判斷乙個輸入標書哪種字串 解析 從輸入的字串中查詢自己想要的資訊 轉換 搜尋字串,並將字串替換為新的格式化的字串 遍歷 搜尋字串所有出現的地方 符號化 根據一組分隔符將乙個字串分解為多個子字串 一些重要術語 模式 ...
c 11 正規表示式
include include 正規表示式標頭檔案 using namespace std regex search 檢索 regex replace 將檢索到的物件進行替換替換 match 是否匹配 void main cout 正規表示式實現字串的替換 void main 匹配時間 void m...