目錄
1、匹配功能
2、切割功能
3、替換
4、獲取
需求:驗證手機號碼是否合法
其實用的就是string類中matches方法
/**
* 演示匹配
* 匹配手機號是否正確
*/public static void functiondemo_1() ";
//校驗
其實使用的就是string類中的split方法。
需求:切割名字輸出
分析:名字之間有很多連續的字串,且第乙個間隔的字串與第二個間隔的字元不相同。
1、那麼就把第乙個間隔的字元的第乙個字元定義為一組,是任意的。組用"( )"括號表示 "."表示任意。
2、在正則中會根據"( )"自動編號分組,所以第乙個字元的編號為1,後面的需要沿用1組。出現一次或者多次。可以用正則"x+",x代表匹配的內容。
3、1需要被轉義成組編號,所以需要加"\1","\1"在字串中又要轉義,所以最終的形式是"\\1+"
編碼:
/**
* 切割
* 組* 在表示式 ((a)(b(c))) 中,存在四個這樣的組:
* 1組 ((a)(b(c)))
* 2組 \a
* 3組 (b(c))
* 4組 (c)
1、將重複的字元使用#替換。
2、重複字元只輸出一次。
3、隱藏指定的數字字元
1、先將正規表示式封裝成物件
2、通過正則物件的matcher方法字串相關聯。獲取要對字串操作的匹配器物件matcher
3、通過matcher匹配器物件的方法對字串進行操作。
/**
* 獲取
* 將正則規則進行物件的封裝。
* pattern p = pattern.compile("a*b");
* //通過正則物件的matcher方法字串相關聯。獲取要對字串操作的匹配器物件matcher .
* matcher m = p.matcher("aaaaab");
* //通過matcher匹配器物件的方法對字串進行操作。
* boolean b = m.matches();
*/public static void functiondemo_4() 獲取連續三個字母的單詞
* \\b擁有單詞邊界
*/string regex = "\\b[a-z]\\b";
//1,將正則封裝成物件。
pattern p = pattern.compile(regex);
//2, 通過正則物件獲取匹配器物件。
matcher m = p.matcher(str);
//使用matcher物件的方法對字串進行操作。
//既然要獲取三個字母組成的單詞
//查詢。 find();
正規表示式05 匹配開頭結尾
字元功能 匹配字串開頭 匹配字串結尾 coding utf 8 import re email list xiaowang 163.com xiaowang 163.comheihei com.xiaowang qq.com for email in email list ret re.match ...
正規表示式2 匹配單個字元
正規表示式可以只包含純文字 1 有多個匹配結果 絕大多數正規表示式引擎的預設行為是只返回第1個匹配結果,但是根據具體的實現,提供了不同的方法把所有的匹配結果全部找出來。2 字母的大小寫問題 正規表示式是區分大小寫的。具體實現可通過標誌來強制進行不區分大小寫。正規表示式的特殊字元用於給出要搜尋的東西。...
正規表示式2 匹配單個字元
正規表示式可以只包含純文字 1 有多個匹配結果 絕大多數正規表示式引擎的預設行為是只返回第1個匹配結果,但是根據具體的實現,提供了不同的方法把所有的匹配結果全部找出來。2 字母的大小寫問題 正規表示式是區分大小寫的。具體實現可通過標誌來強制進行不區分大小寫。正規表示式的特殊字元用於給出要搜尋的東西。...