精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java正則表達(dá)式應(yīng)用總結(jié)

開(kāi)發(fā) 后端
本文介紹的是java正則表達(dá)式應(yīng)用總結(jié),希望對(duì)你有幫助,一起來(lái)看。

一、java正則表達(dá)式概述

正則表達(dá)式是Java處理字符串、文本的重要工具。

Java對(duì)正則表達(dá)式的處理集中在以下兩個(gè)兩個(gè)類(lèi):

java.util.regex.Matcher 模式類(lèi):用來(lái)表示一個(gè)編譯過(guò)的正則表達(dá)式。

java.util.regex.Pattern 匹配類(lèi):用模式匹配一個(gè)字符串所表達(dá)的抽象結(jié)果。
(很遺憾,Java Doc并沒(méi)有給出這兩個(gè)類(lèi)的職責(zé)概念。)

比如一個(gè)簡(jiǎn)單例子:

  1. import java.util.regex.Matcher;   
  2. import java.util.regex.Pattern;   
  3. /** * 正則表達(dá)式例子 * * @author leizhimin 2009-7-17 9:02:53 */   
  4. public class TestRegx {   
  5. public static void main(String[] args) {   
  6. Pattern p = Pattern.compile("f(.+?)k");   
  7. Matcher m = p.matcher("fckfkkfkf");   
  8. while (m.find()) { String s0 = m.group();   
  9. String s1 = m.group(1);   
  10. System.out.println(s0 + "||" + s1);   
  11. }   
  12. System.out.println("---------");   
  13. m.reset("fucking!");   
  14. while (m.find())   
  15. {   
  16. System.out.println(m.group());   
  17. }   
  18. Pattern p1 = Pattern.compile("f(.+?)i(.+?)h");   
  19. Matcher m1 = p1.matcher("finishabigfishfrish");  
  20. while (m1.find()) {   
  21. String s0 = m1.group();   
  22. String s1 = m1.group(1);   
  23. String s2 = m1.group(2);   
  24. System.out.println(s0 + "||" + s1 + "||" + s2);   
  25. }   
  26. System.out.println("---------");   
  27. Pattern p3 = Pattern.compile("(19|20)\\d\\d([- /.])(0[1-9]|1[012])\\2(0[1-9]|[12][0-9]|3[01])");   
  28. Matcher m3 = p3.matcher("1900-01-01 2007/08/13 1900.01.01 1900 01 01 
  29. 1900-01.01 1900 13 01 1900 02 31");   
  30. while (m3.find()) { System.out.println(m3.group());  
  31.  } } } 

輸出結(jié)果:

  1. fck||c fkk||k ---------   
  2. fuck finish||in||s fishfrish||ishfr||s ---------   
  3. 1900-01-01 2007/08/13 1900.01.01 1900 01 01 1900 02 31 Process finished with exit code 0 

二、一些容易迷糊的問(wèn)題

1、Java對(duì)反斜線處理的問(wèn)題

在其他語(yǔ)言中,\\表示要插入一個(gè)字符\;

在Java語(yǔ)言中,\\表示要插入正則表達(dá)式的反斜線,并且后面的字符有特殊意義。

看API文檔:

預(yù)定義字符類(lèi)

  • . 任何字符(與行結(jié)束符可能匹配也可能不匹配)
  • \d 數(shù)字:[0-9]
  • \D 非數(shù)字: [^0-9]
  • \s 空白字符:[ \t\n\x0B\f\r]
  • \S 非空白字符:[^\s]
  • \w 單詞字符:[a-zA-Z_0-9]
  • \W 非單詞字符:[^\w]

但是看看上面程序,對(duì)比下不難看出:

\d在實(shí)際使用的時(shí)候就寫(xiě)成了 \\d;

在Java正則表達(dá)式中,如果要插入一個(gè)\字符,則需要在正則表達(dá)式中寫(xiě)成\\\\,原因是下面的APIDoc定義\\表示一個(gè)反斜線。
但是如果在正則表示式中表示回車(chē)換行等,則不需要多添加反斜線了。比如回車(chē)\r就寫(xiě)作\r.

字符

  • x 字符 x
  • \\ 反斜線字符
  • \0n 帶有八進(jìn)制值 0 的字符 n (0 <= n <= 7)
  • \0nn 帶有八進(jìn)制值 0 的字符 nn (0 <= n <= 7)
  • \0mnn 帶有八進(jìn)制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
  • \xhh 帶有十六進(jìn)制值 0x 的字符 hh
  • \uhhhh 帶有十六進(jìn)制值 0x 的字符 hhhh
  • \t 制表符 ('\u0009')
  • \n 新行(換行)符 ('\u000A')
  • \r 回車(chē)符 ('\u000D')
  • \f 換頁(yè)符 ('\u000C')
  • \a 報(bào)警 (bell) 符 ('\u0007')
  • \e 轉(zhuǎn)義符 ('\u001B')
  • \cx 對(duì)應(yīng)于 x 的控制符

2、Matcher.find():嘗試查找與模式匹配的字符序列的下一個(gè)子序列。此方法從字符序列的開(kāi)頭開(kāi)始,如果該方法的前一次調(diào)用成功了并且從那時(shí)開(kāi)始匹配器沒(méi)有被重置,則從以前匹配操作沒(méi)有匹配的***個(gè)字符開(kāi)始,即如果前一次找到與模式匹配的子序列則這次從這個(gè)子序列后開(kāi)始查找。

3、Matcher.matchers():判斷整個(gè)字符序列與模式是否匹配。當(dāng)連續(xù)用Matcher對(duì)象檢查多個(gè)字符串時(shí)候,可以使用
Matcher.reset():重置匹配器,放棄其所有顯式狀態(tài)信息并將其添加位置設(shè)置為零。

或者M(jìn)atcher.reset(CharSequence input) 重置此具有新輸入序列的匹配器。

來(lái)重復(fù)使用匹配器。

4、組的概念,這個(gè)概念很重要,組是用括號(hào)劃分的正則表達(dá)式,可以通過(guò)編號(hào)來(lái)引用組。組號(hào)從0開(kāi)始,有幾對(duì)小括號(hào)就表示有幾個(gè)組,并且組可以嵌套,組號(hào)為0的表示整個(gè)表達(dá)式,組號(hào)為1的表示***個(gè)組,依此類(lèi)推。

例如:A(B)C(D)E正則式中有三組,組0是ABCDE,組1是B,組2是D;

A((B)C)(D)E正則式中有四組:組0是ABCDE,組1是BC,組2是B;組3是C,組4是D。

  • int groupCount():返回匹配其模式中組的數(shù)目,不包括第0組。
  • String group():返回前一次匹配操作(如find())的第0組。
  • String group(int group):返回前一次匹配操作期間指定的組所匹配的子序列。如果該匹配成功,但指定組未能匹配字符序列的任何部分,則返回 null。
  • int start(int group):返回前一次匹配操作期間指定的組所匹配的子序列的初始索引。
  • int end(int group):返回前一次匹配操作期間指定的組所匹配的子序列的***索引+1。

5、匹配的范圍的控制

最變態(tài)的就要算lookingAt()方法了,名字很讓人迷惑,需要認(rèn)真看APIDoc。

  • start() 返回以前匹配的初始索引。
  • end() 返回***匹配字符之后的偏移量。
  • public boolean lookingAt()嘗試將從區(qū)域開(kāi)頭開(kāi)始的輸入序列與該模式匹配。

與 matches 方法類(lèi)似,此方法始終從區(qū)域的開(kāi)頭開(kāi)始;與之不同的是,它不需要匹配整個(gè)區(qū)域。如果匹配成功,則可以通過(guò) start、end 和 group 方法獲取更多信息。

返回:當(dāng)且僅當(dāng)輸入序列的前綴匹配此匹配器的模式時(shí)才返回 true。

6、Pattern標(biāo)記

Pattern類(lèi)的靜態(tài)方法

  1. static Pattern compile(String regex, int flags)  

將給定的正則表達(dá)式編譯到具有給定標(biāo)志的模式中。

其中的flags參數(shù)就是Pattern標(biāo)記,這個(gè)標(biāo)記在某些時(shí)候非常重要。

  • Pattern.CANON_EQ 啟用規(guī)范等價(jià)。
  • Pattern.CASE_INSENSITIVE 啟用不區(qū)分大小寫(xiě)的匹配。
  • Pattern.COMMENTS 模式中允許空白和注釋。
  • Pattern.DOTALL 啟用 dotall 模式。
  • Pattern.LITERAL 啟用模式的字面值分析。
  • Pattern.MULTILINE 啟用多行模式。
  • Pattern.UNICODE_CASE 啟用 Unicode 感知的大小寫(xiě)折疊。
  • Pattern.UNIX_LINES 啟用 Unix 行模式。

三、字符串的替換

String.replace(char oldChar, char newChar)

返回一個(gè)新的字符串,它是通過(guò)用 newChar 替換此字符串中出現(xiàn)的所有 oldChar 而生成的。

String.replace(CharSequence target, CharSequence replacement)

使用指定的字面值替換序列替換此字符串匹配字面值目標(biāo)序列的每個(gè)子字符串。

String.replaceAll(String regex, String replacement)

使用給定的 replacement 字符串替換此字符串匹配給定的正則表達(dá)式的每個(gè)子字符串。

String.replaceFirst(String regex, String replacement)

使用給定的 replacement 字符串替換此字符串匹配給定的正則表達(dá)式的***個(gè)子字符串。

StringBuffer.replace(int start, int end, String str)

使用給定 String 中的字符替換此序列的子字符串中的字符。

StringBuilder.replace(int, int, java.lang.String)

使用給定 String 中的字符替換此序列的子字符串中的字符。

Matcher.replaceAll(String replacement)

替換模式與給定替換字符串相匹配的輸入序列的每個(gè)子序列。

Matcher.replaceFirst(String replacement)

替換模式與給定替換字符串匹配的輸入序列的***個(gè)子序列。

四、字符串的切分

String[] split(String regex)

根據(jù)給定的正則表達(dá)式的匹配來(lái)拆分此字符串。

String[] split(String regex, int limit)

根據(jù)匹配給定的正則表達(dá)式來(lái)拆分此字符串。

當(dāng)然,還有一個(gè)StringTokenizer類(lèi),可以用來(lái)切分字符串,但是現(xiàn)在SUN已經(jīng)不推薦使用了。轉(zhuǎn)變下思路,其實(shí)用正則表達(dá)式也可以達(dá)到將字符串切分為段的目的。

五、沒(méi)有提到的

正則表達(dá)式的API簡(jiǎn)單好用,沒(méi)太多復(fù)雜的地方,并非不重要,正則表達(dá)式***的難點(diǎn)在于熟練書(shū)寫(xiě)正則表達(dá)式。有關(guān)正則表達(dá)式的規(guī)范,在Pattern類(lèi)APIdoc中都有非常詳細(xì)的介紹,而且條理清晰,在此就不贅述了。

責(zé)任編輯:于鐵 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2024-09-14 09:18:14

Python正則表達(dá)式

2009-02-18 09:48:20

正則表達(dá)式Java教程

2016-11-10 16:21:22

Java 正則表達(dá)式

2009-09-08 09:32:13

正則表達(dá)式學(xué)習(xí)

2018-09-27 15:25:08

正則表達(dá)式前端

2020-09-04 09:16:04

Python正則表達(dá)式虛擬機(jī)

2009-08-27 15:45:30

C#正則表達(dá)式

2009-06-08 16:49:05

Java正則表達(dá)式group

2023-10-07 08:25:09

Java處理工具正則表達(dá)式

2010-03-25 18:25:36

Python正則表達(dá)式

2021-01-27 11:34:19

Python正則表達(dá)式字符串

2022-03-28 06:19:14

正則表達(dá)式開(kāi)發(fā)

2017-05-12 10:47:45

Linux正則表達(dá)式程序基礎(chǔ)

2009-09-16 18:19:34

正則表達(dá)式組

2019-07-17 15:45:47

正則表達(dá)式字符串前端

2011-06-02 12:34:16

正則表達(dá)式

2009-09-16 17:15:57

正則表達(dá)式引擎

2022-01-04 11:35:03

Linux Shel正則表達(dá)式Linux

2023-09-13 08:12:45

2009-08-20 16:23:32

C#正則表達(dá)式語(yǔ)法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩亚洲不卡在线| 国产精品久久一区主播| 亚洲熟女一区二区| 欧美日韩免费观看视频| 亚洲啪啪综合av一区二区三区| 波多野结衣一区二区三区在线观看| 日韩黄色一级大片| 2023国产精品久久久精品双| 亚洲精品不卡在线| 超碰成人在线播放| 国产调教在线| 综合久久久久综合| 欧美人xxxxx| 99久久亚洲精品日本无码| 国产日韩欧美三区| 欧美另类xxx| 天天干天天舔天天操| 成人三级毛片| 欧美一区二区三区在| 美女福利视频在线| 丁香花在线观看完整版电影| 国产精品私房写真福利视频| 久久综合九色欧美狠狠| 99久久久国产精品无码网爆| 蜜臀av一区二区在线观看| 韩日精品中文字幕| 最新一区二区三区| 日韩精品久久| 亚洲人成电影网站色www| 日韩av成人网| 久久99成人| 欧美日韩免费观看一区二区三区| 男人操女人逼免费视频| 日本一本在线免费福利| 日韩理论在线观看| 日韩和欧美的一区二区| 日本在线一二三| 成人福利视频网站| 91中文字精品一区二区| 国产美女免费看| 美女诱惑一区二区| 国产精品直播网红| 一区二区视频网站| 日本va欧美va瓶| 国产精品久久久久久亚洲调教| 欧美三级午夜理伦| a91a精品视频在线观看| 97欧美精品一区二区三区| 精品无码久久久久久久| 自拍偷拍欧美| 欧美大胆在线视频| 中文字幕在线有码| 最新国产精品久久久| 精品国产一区二区三区久久狼黑人 | 伊人成人开心激情综合网| 日韩人妻无码一区二区三区| 亚洲永久精品唐人导航网址| 亚洲欧美日韩综合| 国产美女免费网站| 欧美丝袜丝交足nylons172| 亚洲色图校园春色| 青青青视频在线播放| 青青草国产免费一区二区下载| 国产一区二区三区在线免费观看| 在线观看国产精品一区| 日韩欧美高清| 久热爱精品视频线路一| 麻豆国产尤物av尤物在线观看| 欧美精品99| 久久理论片午夜琪琪电影网| 国产情侣在线视频| 玖玖在线精品| 成人免费自拍视频| 亚洲精品字幕在线观看| 91理论电影在线观看| 日韩av电影免费在线观看| 成年人在线视频| 日韩美女久久久| 国产色一区二区三区| 在线观看欧美日韩电影| 欧美日韩1234| 欧美熟妇精品一区二区| 亚洲aaa级| 日韩在线观看免费| 国产污视频在线观看| 老鸭窝毛片一区二区三区| 成人高h视频在线| 日批视频在线播放| 欧美国产日韩亚洲一区| 中文字幕超清在线免费观看| 成人三级小说| 日本高清不卡视频| www激情五月| 一区二区三区日本久久久| 色偷偷偷综合中文字幕;dd| 久视频在线观看| 丝袜美腿亚洲色图| www.久久草| avtt亚洲| 天天综合色天天| 亚洲怡红院在线| 亚洲人成网站77777在线观看| 最近2019中文字幕大全第二页 | 91久久精品国产91性色tv| 日韩视频在线免费看| 国产一区二区三区免费观看在线 | 色综合久久久久网| 一级日本黄色片| 欧美一区2区| 性欧美xxxx视频在线观看| 91精品中文字幕| 久久久久久久久一| 国产精品久久久久9999爆乳| 日韩伦理一区二区| 亚洲精品视频在线观看视频| 亚洲熟女www一区二区三区| 丝袜美腿亚洲综合| 精品无人区一区二区三区竹菊| 巨大荫蒂视频欧美另类大| 日本精品视频一区二区三区| 污网站免费观看| 一区二区三区毛片免费| 国产精品久久一区主播| 日韩国产福利| 亚洲高清在线精品| 在线观看一区二区三区视频| 色喇叭免费久久综合网| 日韩男女性生活视频| 天天操天天干天天| 亚洲一区二区三区不卡国产欧美| 久久精品久久99| 91精品国产视频| 国产精品入口夜色视频大尺度| 天天影院图片亚洲| 五月激情丁香一区二区三区| 中文字幕99页| 欧美日韩精品一本二本三本| 亚洲va码欧洲m码| a视频在线免费看| 欧美精品18+| 性欧美疯狂猛交69hd| 麻豆精品国产91久久久久久| 天天综合狠狠精品| 成人a在线观看高清电影| 国产亚洲人成网站在线观看| 亚洲第一区av| 国产精品久久久久久久久搜平片 | 国产成人精品亚洲午夜麻豆| 欧美日韩亚洲国产成人| av在线成人| 久久伊人精品天天| 国产成人精品无码高潮| 亚洲欧美韩国综合色| 手机在线免费毛片| 欧美体内she精视频在线观看| 99一区二区三区| 欧美大片黄色| 日韩av在线精品| 在线观看日本网站| 国产精品网站一区| 不卡的在线视频| 欧美久久影院| 国产亚洲欧美另类一区二区三区| 免费成人在线电影| 亚洲欧美视频在线| 亚洲一级特黄毛片| 亚洲精品成a人| 999精品免费视频| 久久性天堂网| 一区二区视频在线观看| 国产日韩在线观看视频| 欧美精品久久久久久久久| 天天摸天天碰天天爽天天弄| 色综合天天综合网天天看片| 欧美成人短视频| 国产成人自拍网| 免费无码av片在线观看| 97精品一区二区| 国产一区国产精品| 日日夜夜天天综合| 蜜月aⅴ免费一区二区三区 | 日韩成人视屏| 91av视频在线观看| 五月天婷婷在线视频| 日韩欧美国产wwwww| 亚洲精品男人的天堂| 国产精品视频一二三| 91精品人妻一区二区三区四区| 亚洲欧美久久| mm131午夜| 亚洲欧美校园春色| 亚洲综合自拍一区| 偷拍精品精品一区二区三区| 久久精品一偷一偷国产| 亚洲aⅴ在线观看| 在线播放91灌醉迷j高跟美女| 日韩成年人视频| 国产精品电影一区二区| 少妇户外露出[11p]| 久久99最新地址| www.亚洲天堂网| 欧美激情第10页| 亚州欧美一区三区三区在线| 激情小说一区| 91天堂在线视频| 日日av拍夜夜添久久免费| 欧美日韩高清区| 在线观看国产原创自拍视频| 亚洲精品久久久久中文字幕二区| 91免费视频播放| 欧美性极品xxxx娇小| 免费人成年激情视频在线观看| 国产三区在线成人av| 粗大的内捧猛烈进出视频| 强制捆绑调教一区二区| 好吊妞无缓冲视频观看| 欧美日韩ab| 美国av在线播放| 欧美日韩色图| 久久99久久精品国产| 亚洲精品影片| 亚洲a成v人在线观看| 久久亚洲精品爱爱| 欧美中文在线字幕| 激情网站在线| 久久99亚洲精品| 国产在线1区| 日韩一区二区欧美| 国产美女视频一区二区三区| 精品视频在线播放| 性生活黄色大片| 日韩欧美一区二区免费| av片免费播放| 欧美一卡2卡三卡4卡5免费| 91国产免费视频| 欧美三区在线观看| 亚洲男人天堂网址| 欧美中文字幕一区二区三区 | 视频一区二区在线观看| 亚洲素人在线| 欧美精彩一区二区三区| 日韩免费电影在线观看| 久久99精品国产99久久| 日韩av字幕| 免费久久99精品国产自| 色婷婷综合久久久久久| 欧美日韩综合精品| 激情婷婷综合| 亚洲国产日韩美| 日韩黄色大片网站| 先锋影音男人资源| 欧美在线网站| 男人天堂a在线| 99视频一区| jizzjizzxxxx| 日韩激情视频网站| 免费成年人高清视频| 国产乱子轮精品视频| 亚洲精品第二页| 91欧美激情一区二区三区成人| 精品人妻互换一区二区三区| 国产精品毛片久久久久久久| 黄色录像一级片| 亚洲高清三级视频| 国产熟妇一区二区三区四区| 欧美三片在线视频观看| 国产肥老妇视频| 亚洲黄色在线观看| 国产精品一区二区婷婷| 久久精品一区中文字幕| 国产精品69xx| 国产成人+综合亚洲+天堂| 欧美视频在线视频精品| 99re视频在线观看| 久草在线成人| 黑人巨大国产9丨视频| 999亚洲国产精| 午夜久久久精品| 大陆成人av片| 成人无码av片在线观看| 亚洲免费av在线| 国产精品视频123| 欧美一区二区三区电影| 午夜视频福利在线| 久久精品久久精品亚洲人| 韩国精品一区| 成人福利网站在线观看11| 欧美电影在线观看免费| 图片区小说区区亚洲五月| 中文无码久久精品| 无码人妻丰满熟妇区五十路百度| 蜜臀av一区二区| 黄色国产在线观看| 亚洲丝袜制服诱惑| 黄瓜视频在线免费观看| 日韩一区二区三免费高清| 日本在线丨区| 欧美高清不卡在线| 小说区图片区亚洲| 精品久久蜜桃| 红桃视频国产精品| 久久人人爽av| 久久亚洲二区三区| 久久机热这里只有精品| 欧美日韩小视频| 欧美日韩伦理片| 久久久久久久久久久免费 | 久久中文免费视频| 在线精品亚洲一区二区不卡| 高清国产mv在线观看| 精品国产欧美一区二区三区成人| 亚洲精品mv| 国产一区自拍视频| 999精品视频| mm1313亚洲国产精品无码试看| av在线免费不卡| 欧美另类视频在线观看| 欧美精品第1页| 日本三级视频在线观看| 日本精品视频在线| 韩国女主播一区二区三区| 佐佐木明希av| 久久99精品久久久久久久久久久久| av中文字幕免费观看| 精品久久久久久久久久久久 | 中文字幕亚洲一区二区三区五十路| 9lporm自拍视频区在线| 97人人做人人人难人人做| 亚洲欧美日韩高清在线| 一区二区成人网| 国产欧美日韩不卡| 无码人妻丰满熟妇区五十路| 亚洲免费电影在线观看| 国产资源在线观看入口av| 精品欧美一区二区精品久久| 亚洲成人在线| 大尺度做爰床戏呻吟舒畅| 亚洲一区二区成人在线观看| 亚洲国产精品欧美久久| 欧美激情亚洲综合一区| 日韩欧美一级| 美女av免费观看| 岛国精品在线观看| 日韩精品成人一区| 国产视频在线一区二区| 亚洲人体影院| 欧美亚洲免费高清在线观看| 日韩激情av在线| 国产视频123区| 91精品国产高清一区二区三区| 好吊日视频在线观看| 亚洲最大的成人网| 欧美1区视频| 91精品啪在线观看国产| 午夜精品成人在线视频| 日本福利片高清在线观看| 日韩免费观看网站| 日韩激情在线| 女人扒开双腿让男人捅| 五月激情六月综合| 触手亚洲一区二区三区| 国产日韩在线精品av| 亚洲女同中文字幕| 久久久午夜精品福利内容| 91成人在线免费观看| 精品欧美色视频网站在线观看| 成人动漫视频在线观看免费| 在线亚洲自拍| 精品日韩在线视频| 欧美一区二区三区在线视频 | 欧美日韩中文在线| 成年人在线视频| av噜噜色噜噜久久| 午夜在线视频观看日韩17c| 亚洲熟女少妇一区二区| 日韩精品一区二区三区蜜臀| 中文字幕在线视频久| 一区二区日本伦理| 成人午夜伦理影院| 最近日韩免费视频| 欧美日韩高清在线观看| 国产精品欧美日韩一区| 深爱五月综合网| 色婷婷久久综合| 国产成人高清精品| 麻豆传媒一区| 国产一区二三区| 久久国产视频播放| 精品久久久999| 台湾色综合娱乐中文网| www.亚洲自拍| 一本色道久久综合狠狠躁的推荐 | 欧美在线视频一区| 91成人观看| 免费黄色在线视频| 日韩欧美不卡一区| 日本欧美韩国| 国产精品久久中文字幕| 亚洲日韩欧美一区二区在线| 爽爽视频在线观看|