1. (?:x) 只是作為非捕獲組,匹配後不會保留在記憶體中。
2. (?=x) 當前位置(字元之間的0寬度縫隙 )後邊出現x。
pattern p = pattern.compile(".(?=a)");
string s = "434a5554a466b";
matcher m = p.matcher(s);
while(m.find()) ") 結果為:a55 a46 (先找那個後面為a的字元空間,然後取三個字元。)
3.(?!x) 當前位置(字元之間的0寬度縫隙 )後邊不出現x。
從第乙個數字4之前的空白數起,只要頭乙個字元不是a,就取出三個字元。
("(?!a).") 結果為: 434 555 4a4 66b
4.(?<=x) 對應小標題2.只是改變匹配方向,從後向前看(看字元空隙之前是不是出現x)。
(".(?<=a)") 結果為:34a 54a
5.(?
正規表示式 非捕獲分組
目前為止,總共介紹了括號的三種用途 分組,將相關的語速歸攏到一起,構成單個元素 多選結構,規定可能出現的多個子表達示 引用分組,將子表示式匹配的文字儲存起來,供之後引用。這三種用途並不是彼此獨立的,而是互相重疊的 單純的分組可以視為 只包含乙個多選分支的多選結構 整個多選結構也會被視為單個元素,可以...
正規表示式之捕獲組 非捕獲組
語法 字元 描述 示例 pattern 匹配pattern並捕獲結果,自動設定組號。abc d 匹配abcd或者abcabcd pattern 或 name pattern 匹配pattern並捕獲結果,設定name為組名。num 對捕獲組的反向引用。其中 num 是乙個正整數。w w 2 1 匹配...
特殊正規表示式
特殊需求表示式 2 網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 3 interneturl a za z s 或 http w w w 4 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 ...