最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

Java正則表達式(Pattern Matcher)

2023-08-06 11:08 作者:Alphamilk  | 我要投稿

1.常用正則標記(熟記*)

1.字符(匹配單個字符)

字符標記描述

  • a匹配字母 "a"

  • \\轉義字符,用于表示特殊字符

  • \n匹配換行符

  • \t匹配制表符

?2.一組字符(任意匹配里面的單個字符)

  • 正則標記描述[abc]匹配字符中的任意一個,相當于 a 或 b 或 c

  • [^abc]匹配除了字符中的任意一個字符之外的字符

  • [a-zA-Z]匹配任意大小寫字母

  • [0-9]匹配任意數字字符

3.邊界匹配(在以后編寫JavaScript時候會用到)

正則標記描述

  • ^匹配輸入字符串的開始位置

  • $匹配輸入字符串的結束位置

4.簡寫標記(每一位出現的簡寫標記也知識表示一位)

正則標記描述\d匹配一個數字字符(相當于 [0-9])

  • \D匹配一個非數字字符(相當于 [^0-9])

  • \w匹配一個單詞字符(字母、數字或下劃線,相當于 [a-zA-Z0-9_])

  • \W匹配一個非單詞字符(相當于 [^a-zA-Z0-9_])

  • \s匹配一個空白字符(空格、制表符、換行符等)

  • \S匹配一個非空白字符.匹配除換行符之外的任意字符

?5.數量表示(前面都表示只有一位,如果要表示多位就要用到數量表示)

正則標記描述

  • ?匹配前面的元素零次或一次(可選)

  • *匹配前面的元素零次或多次(可重復)

  • +匹配前面的元素一次或多次(至少一次)

  • {n}匹配前面的元素恰好 n 次

  • {n,}匹配前面的元素至少 n 次

  • {n,m}匹配前面的元素至少 n 次但不超過 m 次

6.邏輯表示與 或 非

正則標記描述

  • 正則表達式A可以是任意合法的正則表達式

  • 正則表達式B可以是任意合法的正則表達式

  • 正則表達式A|B匹配正則表達式A或正則表達式B

  • (正則表達式)將括號內的正則表達式作為一個組,可以對其進行量詞限定等操作

2. 基礎案例搭配Sting的常用方法

1.通過String替換(刪除非字母與非數字)

2.實現數字拆分

案例要求:一串字符串包含有數字,字母,要求只獲取字母并將其存入到字符串數組中。

?3.判斷一個數據是否為小數

?4.判斷一個字符串是否由日期組成,如果是則將其轉為Date類型

?5.驗證E-mail格式:

括號在正則表達式中用于分組,它們具有以下作用:

  1. 確定匹配的范圍:括號可將多個字符組合在一起,形成一個整體。例如,在 (cn|com|com\\.cn|net|gov) 中,括號內的內容表示一個選擇項,即可以匹配 .cn、.com.com.cn、.net.gov。

  2. 控制優(yōu)先級:括號還可以控制子表達式的優(yōu)先級。正則表達式按照從左到右的順序進行解析,括號內的表達式會優(yōu)先匹配。這對于復雜的正則表達式非常有用,可以確保匹配和分組的順序符合預期。

  3. 提取分組內容:通過使用括號進行分組,可以將匹配到的內容提取出來。在 Java 中,通過正則表達式匹配后,可以使用 Matcher 對象的 group(int) 方法來獲取相應分組的內容。

3.正則表達式java.util.regex包支持

由于String類其實停供的正則表達式是比較基礎的,要是嚴格一些則需要用到java.util,regex包的支持,該包有兩個核心的功能Pattern類(正則模式)與Macther類(匹配)

以下是兩個類常用的方法:

1.Pattern類

方法描述

  • compile(String regex)將給定的正則表達式編譯成一個模式。

  • matches(String regex, CharSequence input)使用給定的正則表達式對輸入進行匹配操作,并返回匹配結果。

  • split(CharSequence input)根據給定的正則表達式,將輸入拆分為字符串數組,并返回結果。

  • matcher(CharSequence input)創(chuàng)建一個新的匹配器,用于在給定的輸入上執(zhí)行匹配操作。pattern()返回當前模式的字符串表示形式。

  • flags()返回模式的標志,以整數形式返回。

這些方法可以幫助你使用正則表達式進行匹配、拆分和創(chuàng)建匹配器等操作。其中,常用的是 matches、splitmatcher 方法,它們?yōu)槌R姷恼齽t表達式操作提供了便捷的功能。?

2.Matcher類

方法描述

  • find()嘗試在輸入序列中查找下一個匹配項,并返回是否找到匹配項。

  • group()返回與前一次匹配操作相匹配的輸入子序列。

  • start()返回上次匹配操作的起始索引。

  • end()返回上次匹配操作的結束索引加?

  • reset(CharSequence input)重置匹配器,將其設置為新的輸入字符序列。

  • replaceAll(String replacement)使用給定的替換字符串替換所有匹配項,并返回替換后的結果。

  • appendReplacement(StringBuffer sb, String replacement)將當前匹配到的內容替換為指定的字符串,并將替換結果追加到給定的 StringBuffer 對象中。

  • appendTail(StringBuffer sb)將輸入序列的其余部分追加到給定的 StringBuffer 對象

這些方法可以幫助你在使用正則表達式進行匹配操作時,獲取匹配結果、替換匹配項和操作輸入序列等。其中,常用的是 find、group、replaceAllappendReplacement 方法,它們在實際的正則表達式處理中非常有用。?

案例使用:

1.Pattern編譯

2.Matcher

?4.Matcher的分組

Name: John
Surname: Doe
Age: 25

4.練習鞏固

給一段HTML代碼"<font face="Arial,Serif" size="+2"color="red">"這段代碼要求對其內容進行拆分,拆分結果如下:

face Arial,Serif

size +2

color red

思路:首先要對元素標記<font>刪除,并且一句每一個屬性(使用空格拆分)獲取對應的數據內容,可以基于分組形式完成


Java正則表達式(Pattern Matcher)的評論 (共 條)

分享到微博請遵守國家法律
星子县| 英德市| 五家渠市| 重庆市| 锡林浩特市| 霸州市| 吉安市| 子长县| 永福县| 阿瓦提县| 鄯善县| 陆良县| 石首市| 新疆| 萨嘎县| 留坝县| 大安市| 榆林市| 丰顺县| 宜宾市| 枣强县| 绩溪县| 广宗县| 大竹县| 达孜县| 泰来县| 克山县| 九龙县| 荔浦县| 民权县| 化德县| 蒙山县| 赣榆县| 越西县| 文安县| 富源县| 长沙市| 土默特左旗| 鄱阳县| 双流县| 德庆县|