中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区

北大青鳥北京校區(qū)提供:Java正則表達(dá)式

北大青鳥北京通州校區(qū)學(xué)術(shù)部提供:

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

Java對(duì)正則表達(dá)式的處理集中在以下兩個(gè)兩個(gè)類:
java.util.regex.Matcher 模式類:用來(lái)表示一個(gè)編譯過(guò)的正則表達(dá)式。
java.util.regex.Pattern 匹配類:用模式匹配一個(gè)字符串所表達(dá)的抽象結(jié)果。
北大青鳥課程

比如一個(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é)果:(北大青鳥北京校區(qū),北大青鳥課程
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á)式的反斜線,并且后面的字符有特殊意義。(北大青鳥北京校區(qū),北大青鳥課程)

看API文檔:
預(yù)定義字符類
• . 任何字符(與行結(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í)候就寫成了 \\d;

在Java正則表達(dá)式中,如果要插入一個(gè)\字符,則需要在正則表達(dá)式中寫成\\\\,原因是下面的APIDoc定義\\表示一個(gè)反斜線。(北大青鳥北京校區(qū),北大青鳥課程

但是如果在正則表示式中表示回車換行等,則不需要多添加反斜線了。比如回車\r就寫作\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 回車符 ('\u000D')
• \f 換頁(yè)符 ('\u000C')
• \a 報(bào)警 (bell) 符 ('\u0007')
• \e 轉(zhuǎn)義符 ('\u001B')
• \cx 對(duì)應(yīng)于 x 的控制符

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

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開始,有幾對(duì)小括號(hào)就表示有幾個(gè)組,并且組可以嵌套,組號(hào)為0的表示整個(gè)表達(dá)式,組號(hào)為1的表示第一個(gè)組,依此類推。(北大青鳥北京校區(qū),北大青鳥課程)

例如: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ū)域開頭開始的輸入序列與該模式匹配。
與 matches 方法類似,此方法始終從區(qū)域的開頭開始;與之不同的是,它不需要匹配整個(gè)區(qū)域。如果匹配成功,則可以通過(guò) start、end 和 group 方法獲取更多信息。
返回:當(dāng)且僅當(dāng)輸入序列的前綴匹配此匹配器的模式時(shí)才返回 true。

6、Pattern標(biāo)記
Pattern類的靜態(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ū)分大小寫的匹配。
• Pattern.COMMENTS 模式中允許空白和注釋。
• Pattern.DOTALL 啟用 dotall 模式。
• Pattern.LITERAL 啟用模式的字面值分析。
• Pattern.MULTILINE 啟用多行模式。
• Pattern.UNICODE_CASE 啟用 Unicode 感知的大小寫折疊。
• Pattern.UNIX_LINES 啟用 Unix 行模式。
北大青鳥北京校區(qū),北大青鳥課程—未完待續(xù))

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章
中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区
亚洲mv在线观看| 国产suv精品一区二区三区| 亚洲一区二区三区免费视频| 日韩vs国产vs欧美| 日韩精品一区第一页| 国产精品12区| 欧美日韩综合在线| 色婷婷久久久综合中文字幕| 91精品国产色综合久久不卡电影| 久久一日本道色综合| 亚洲综合久久av| 成人免费视频网站在线观看| 欧美一区二区三区公司| 欧美国产在线观看| 美女国产一区二区| 欧美午夜免费电影| ●精品国产综合乱码久久久久| 日韩av在线播放中文字幕| 成人免费毛片a| 久久一留热品黄| 日韩精品成人一区二区在线| 色婷婷综合久久| 国产精品视频yy9299一区| 奇米四色…亚洲| 这里只有精品99re| 亚洲国产成人精品视频| 一本到不卡免费一区二区| 久久久久久久久久美女| 久久se精品一区精品二区| 欧美一级在线观看| 美女网站在线免费欧美精品| 欧美日韩成人激情| 五月天亚洲婷婷| 欧美三级三级三级| 日韩精品视频网站| 日韩午夜在线观看| 久久机这里只有精品| 精品国产一二三区| 午夜视频一区在线观看| 欧美久久久一区| 日韩在线一区二区三区| 欧美一区二区三区四区视频| 麻豆一区二区99久久久久| 久久综合精品国产一区二区三区| 久久成人精品无人区| 日本一二三不卡| 欧美日韩综合不卡| 国产高清久久久| 亚洲男同1069视频| 欧美日韩国产色站一区二区三区| 日韩激情视频网站| 欧美韩国日本不卡| 欧美一级日韩一级| 91一区在线观看| 日本中文字幕一区二区视频 | 99re这里只有精品视频首页| 亚洲尤物在线视频观看| 日韩美一区二区三区| 99久久精品免费看国产| 蜜臀a∨国产成人精品| 中文字幕亚洲一区二区av在线 | 国产一区二区免费看| 国产精品久久三| 欧美蜜桃一区二区三区| 国产资源精品在线观看| 亚洲国产电影在线观看| 7777精品伊人久久久大香线蕉的| 国内精品在线播放| 亚洲va韩国va欧美va精品| 久久综合九色综合97婷婷| 色偷偷成人一区二区三区91| 九色综合狠狠综合久久| 五月激情综合婷婷| 国产精品美女一区二区三区| 宅男在线国产精品| av在线播放不卡| 国产精品一二三区| 免费久久99精品国产| 亚洲综合久久久久| 亚洲欧美另类综合偷拍| 欧美成人精品3d动漫h| 欧美亚洲动漫制服丝袜| 99久久精品国产精品久久| 麻豆91精品91久久久的内涵| www一区二区| 日韩欧美中文一区| 欧美猛男gaygay网站| 成人午夜视频在线| 国产成人高清在线| 国产成人aaaa| 成人午夜私人影院| 日本韩国欧美在线| 国产成人高清在线| av在线综合网| 色哟哟在线观看一区二区三区| 白白色 亚洲乱淫| 99精品桃花视频在线观看| 国产一区中文字幕| 日本高清成人免费播放| 欧美久久久影院| 日韩一区二区三区在线观看| 26uuu亚洲综合色欧美| |精品福利一区二区三区| 亚洲欧美aⅴ...| 精东粉嫩av免费一区二区三区| 99riav一区二区三区| 91美女精品福利| 色哟哟亚洲精品| 在线日韩av片| 精品国产乱码久久久久久闺蜜| 精品久久久三级丝袜| 国产精品素人视频| 91精品中文字幕一区二区三区| 日韩视频一区二区三区在线播放 | 亚洲一区二区偷拍精品| 视频一区视频二区在线观看| 国产精品亚洲一区二区三区在线| 99精品欧美一区二区蜜桃免费 | 亚洲免费在线观看| 精品伊人久久久久7777人| 99国产精品国产精品久久| 精品裸体舞一区二区三区| 亚洲高清一区二区三区| 91啪亚洲精品| 国产精品毛片久久久久久| 日av在线不卡| 欧美人妇做爰xxxⅹ性高电影| 国产精品久久网站| 国v精品久久久网| 久久精品在这里| 韩国精品久久久| 精品国内二区三区| 韩国av一区二区三区在线观看| 欧美日韩精品是欧美日韩精品| 亚洲日本免费电影| 波多野结衣精品在线| 国产日韩精品久久久| 国产69精品久久久久777| 久久综合一区二区| 蜜臀久久久99精品久久久久久| 欧美日韩一区二区在线视频| 亚洲欧美日韩国产中文在线| 不卡在线观看av| 亚洲国产精品激情在线观看| 国产精品一区二区果冻传媒| 久久久国产一区二区三区四区小说| 国产高清成人在线| 日本一区二区视频在线| 一本久久综合亚洲鲁鲁五月天| 亚洲欧洲色图综合| 欧美色涩在线第一页| 蜜芽一区二区三区| 久久久美女艺术照精彩视频福利播放| 日本不卡一区二区三区| 国产欧美va欧美不卡在线| av一区二区三区| 视频在线观看一区二区三区| 欧美一区二区在线不卡| 国产老女人精品毛片久久| 亚洲欧洲成人精品av97| 欧美久久婷婷综合色| 成人免费视频网站在线观看| 亚洲欧美日韩国产一区二区三区| 欧美亚洲高清一区二区三区不卡| 久久99精品久久久久久动态图| 亚洲免费av高清| 91日韩一区二区三区| 久久国内精品自在自线400部| 欧美韩国日本不卡| 欧美一区二视频| 99精品偷自拍| 国产一区二区在线看| 日韩电影在线免费看| 亚洲少妇最新在线视频| 中文字幕精品在线不卡| 欧美日韩精品欧美日韩精品一 | 美女网站在线免费欧美精品| 综合激情成人伊人| www日韩大片| 精品区一区二区| 色婷婷亚洲综合| 欧美日韩一区二区三区四区五区| 成人教育av在线| 福利91精品一区二区三区| 麻豆精品视频在线观看| 日韩在线卡一卡二| 丝袜美腿亚洲一区| 久久精品国产77777蜜臀| 麻豆精品一区二区综合av| 亚洲大片精品永久免费| 亚洲国产日韩在线一区模特| 亚洲午夜国产一区99re久久| 亚洲激情图片小说视频| 亚洲色图清纯唯美| 午夜在线电影亚洲一区| 亚洲va国产va欧美va观看| 日韩国产在线观看| 韩国av一区二区三区| 国产精品99久久久久久久vr| 成人精品一区二区三区中文字幕|