正規表示式 2 匹配 切割 替換 獲取

2021-10-02 08:43:23 字數 2231 閱讀 9991

目錄

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 字母的大小寫問題 正規表示式是區分大小寫的。具體實現可通過標誌來強制進行不區分大小寫。正規表示式的特殊字元用於給出要搜尋的東西。...