先來看個例子
把逗號之間的數字和逗號括號分隔的數字取出來
string s=" $this
->data[
'singlev300']=
bindec
(substr
($this
->databin,
5960,81
));pattern ss1=pattern.
compile
("(,(.*?),)([0-9]+)");
matcher m1=ss1.
matcher
(s);
while
(m1.
find()
)
結果為:
pattern 物件是乙個正規表示式的編譯表示。pattern 類沒有公共構造方法。要建立乙個 pattern 物件,你必須首先呼叫其公共靜態編譯方法,它返回乙個 pattern 物件。該方法接受乙個正規表示式作為它的第乙個引數。
matcher 物件是對輸入字串進行解釋和匹配操作的引擎。與pattern 類一樣,matcher 也沒有公共構造方法。你需要呼叫 pattern 物件的 matcher 方法來獲得乙個 matcher 物件。
捕獲組是把多個字元當乙個單獨單元進行處理的方法,它通過對括號內的字元分組來建立。
例如,正規表示式 (dog) 建立了單一分組,組裡包含"d",「o」,和"g"。
捕獲組是通過從左至右計算其開括號來編號。
可以通過呼叫 matcher 物件的 groupcount 方法來檢視表示式有多少個分組。groupcount 方法返回乙個 int 值,表示matcher物件當前有多個捕獲組。
還有乙個特殊的組(group(0)),它總是代表整個表示式。該組不包括在 groupcount 的返回值中。
第一行輸出的為整個表示式的值。
第二行輸出的為第2 個捕獲組的值
第三行輸出的為第3個捕獲組的值,即第乙個括號裡的第乙個括號裡的值
第四行輸出的為第4個表示式的值,即最後乙個括號
mysql 正則匹配 捕獲組 正規表示式 捕獲組
大綱 語法實戰 反向引用 替換 一 語法 捕獲組 匹配子表示式內容,匹配結果以編號或顯示命名的方式存在記憶體,可供正則本身,也可供替換使用。語法 數字編號 pattern 匹配結果儲存為數字。顯示命名 pattern 匹配結果儲存到變數name中。非捕獲 pattern 標識不需要儲存的組。二 實戰...
正規表示式之捕獲組 非捕獲組
語法 字元 描述 示例 pattern 匹配pattern並捕獲結果,自動設定組號。abc d 匹配abcd或者abcabcd pattern 或 name pattern 匹配pattern並捕獲結果,設定name為組名。num 對捕獲組的反向引用。其中 num 是乙個正整數。w w 2 1 匹配...
正規表示式之捕獲組 非捕獲組介紹
捕獲組 語法 字元 描述 示例 pattern 匹配pattern並捕獲結果,自動設定組號。abc d 匹配abcd或者abcabcd pattern 或 name pattern 匹配pattern並捕獲結果,設定name為組名。num 對捕獲組的反向引用。其中 num 是乙個正整數。w w 2 ...