999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java中的正則表達式與模式匹配研究

2011-01-09 06:26:58武興睿
科技傳播 2011年15期
關鍵詞:方法

武興睿

吉林科技職業技術學院計算機系,吉林長春 130123

Java中的正則表達式與模式匹配研究

武興睿

吉林科技職業技術學院計算機系,吉林長春 130123

正則表達式是代表具有特殊意義字符的字符串。在信息時代,我們從海量數據中尋找特定的信息時,正則表達式起到了至關重要的作用。正則表達式仿佛一個模板,將某個字符模式與所搜索的字符串進行匹配。在編寫程序時正則表達式也起著很重要的作用,應用廣泛。本文主要研究java中正則表達式的使用,及模式匹配。

正則表達式;模式匹配;Pattern類;Matcher類

正則表達式仿佛一個模板,將某個字符模式與所搜索的字符串進行匹配。在編寫程序時正則表達式也起著很重要的作用,應用廣泛。本文主要研究java中正則表達式的使用,及模式匹配。

1 java中的Pattern類

1.1 重要方法

1)static Pattern compile(String regex)

該靜態方法通過使用類名調用,返回一個Pattern類型的對象,并且將給定的正則表達式regex編譯到模式中。

舉例 1 :Pattern p ;p=Pattern.compile(“\dabcd\d”);

2)Matcher matcher(CharSequence input)

使用Pattern類的對象調用該方法,返回一個Matcher類型的對象,其主要作用是用在input中待匹配的字符序列初始化匹配對象。

舉例 2 :Matcher m;m=p.matcher(“aaa1abcd2bbb”);

3)static Boolean matches(String regex,CharSequence input)

使用類名調用該方法,判斷input是否與regex正則表達式匹配。

舉例3:Pattern.matches(“\dabcd\d”, “aaa1abcd2bbb”);

//結果返回 true。

4)String pattern()

用對象調用,返回在其中編譯過此模式的正則表達式。

舉例 4 :Pattern p = Pattern.compile(“\dabcd\d”);

p.pattern();

//結果返回字符串“\dabcd\d”。

5)String[] split(CharSequence input);

用對象調用該方法,返回一個字符串數組,數組中的每個元素都是input中被該模式對象拆分的字符串。

舉例 5:Pattern p = Pattern.compile(“:”);

String arry[]=p.split(“a:bcd:ef”);

//結果 :arry[0]=”a”,arry[1]=”bcd”,arry[2]=”ef”。

2 Matcher類

主要方法:

1)public boolean find()

使用模式對象調用該方法,嘗試查找與該模式匹配的輸入序列的下一個子序列。若找到返回true,否則返回false。

舉例 6 :Pattern p=Pattern.compile(“\dabcd\d”);

Matcher m = p.matcher(“12abcd3fcsd);

If(m.find()){System.out.print(“ok”);}

//m調用find()方法,找到與之匹配的子序列“2abcd3”,程序將輸出“ok”。

說明:該方法始于匹配器區域的開頭,如果該方法的前一次調用成功,并且沒有重置,則下一次調用時從上次沒有匹配的第一個字符開始。例如在上例中下一次匹配時從字符“f“處向后查找。

2)public boolean find(int start)

使用模式對象調用該方法,該方法重置匹配器,嘗試查找匹配該模式、從指定索引start處開始的輸入序列的下一個子序列。

舉例 7 :Pattern p=Pattern.compile(“\dabcd\d”);

Matcher m = p.matcher(“12abcd3fcsd);

If(m.find(3)){System.out.print(“ok”);}

//程序結果沒有輸出“ok“。將從字符”b”處查找匹配的子序列。

3)public int start()

使用模式對象調用該方法,返回以前匹配的初始索引。

4)public int end()

使用模式對象調用該方法,返回最后匹配字符之后的偏移量。

5)public String group()

使用模式對象調用該方法,返回由以前匹配操作所匹配的輸入子序列。

舉例 8 : Pattern p=Pattern.compile(“\dabcd\d”);

Matcher m = p.matcher(“12abcd3fcsd);

m.find();

System.out.println(m.start+”---”+m.end()+”,”+m.group())

//結果 1---6,2abcd3。

6)public String replaceAll(String replacement)

使用模式對象調用該方法,替換模式與給定替換字符串相匹配的輸入序列的每個子序列。

舉例 9 :Pattern p=Pattern.compile(“\dabcd\d”);

Matcher m = p.matcher(“12abcd3fcsd);

System.out.print(m.replaceAll(“***”));

//結果 :1***fcsd。

7)public boolean matches()

使用模式對象調用該方法,嘗試將整個字符串與模式匹配。若完全匹配返回true,否則返回false。

舉例 10:Pattern p=Pattern.compile(“\dabcd\d”);

Matcher m = p.matcher(“1abcd3);

Matcher m1 = p.matcher(“2abcd33”);

If(m.matches()) System.out.print(“ok”);

If(m1.matches()) System.out.print(“ok111”);

//程序結果輸出 “ok“。

3 正則表達式的構造

1)代表單個字符的元字符

元字符在正則表達式中的寫法 意義.“.” 代表任意一個字符d “\d” 代表0—9的任何一個數字D “\D” 代表任何一個非數字字符s “\s” 代表空格類字符:’ ’ ‘ ’ ‘x0B’ ‘f’ ‘ ’S “\S” 代表非空格類字符w “\w” 代表可用于標識符的字符(不包括美元符號)W “\W” 代表不能用于標識符的字符

2)限定符模式

帶限定符號的模式 意義 帶限定符號的模式 意義X? X出現0次或1次 X{n} X恰好出現n次X* X出現0次或多次 X{n,} X至少出現n次X+ X出現1次或多次 X{n,m} X出現n次至m次

4 應用舉例

1)Email正則表達式的書寫。

Pattern emailer = Pattern.compile("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");

2)電話號碼正則表達式的書寫。

Pattern tel = Pattern.compile("\d{3,4}-\d{7,8}|\d{11}");

[1]java大學實用教程.清華大學出版社.

[2]java 2 編程思想.

TP301.2

A

1674-6708(2011)48-0180-02

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 欧美日韩第二页| 国产成+人+综合+亚洲欧美| 日韩av电影一区二区三区四区| 先锋资源久久| 波多野结衣视频网站| 三上悠亚一区二区| 人人爽人人爽人人片| 伊人色在线视频| 97se亚洲综合在线| 香蕉视频在线精品| 粉嫩国产白浆在线观看| 精品国产99久久| 午夜在线不卡| 国产一级特黄aa级特黄裸毛片| 国产视频入口| 国产91在线免费视频| 国产青青操| 久久精品国产999大香线焦| 亚洲天堂久久| 日本免费高清一区| 国产99热| 国产精品网址你懂的| 好吊妞欧美视频免费| 日韩国产高清无码| 亚洲AV成人一区二区三区AV| 波多野结衣二区| 亚洲无码精品在线播放| 久久动漫精品| 国产精品内射视频| 成人在线亚洲| 丝袜国产一区| 在线高清亚洲精品二区| 亚洲第一精品福利| 欧美19综合中文字幕| 欧美成人h精品网站| 亚洲欧洲一区二区三区| 成人午夜免费观看| 无码网站免费观看| 制服丝袜在线视频香蕉| 中文无码日韩精品| 亚洲一级毛片在线播放| 九九热精品视频在线| 日日噜噜夜夜狠狠视频| 黄色福利在线| 超碰91免费人妻| 成人毛片免费在线观看| 午夜天堂视频| 国产精品开放后亚洲| 夜夜爽免费视频| 青青草一区| 成人免费一级片| 人妻丝袜无码视频| 好吊色国产欧美日韩免费观看| 日韩色图在线观看| 欧美亚洲综合免费精品高清在线观看| 久久精品国产免费观看频道| 午夜日b视频| 亚洲Aⅴ无码专区在线观看q| 成人在线欧美| 亚洲高清中文字幕| 久久综合成人| 天堂av综合网| 亚洲成人福利网站| 91无码人妻精品一区二区蜜桃| 久久这里只有精品23| 东京热av无码电影一区二区| 伊人网址在线| 亚洲精品成人7777在线观看| 一级黄色片网| 亚洲综合第一区| 久久久久久久蜜桃| 亚洲成a人在线播放www| 国产无人区一区二区三区| 在线免费a视频| 精品国产成人国产在线| 日韩成人午夜| 国产XXXX做受性欧美88| 久久中文字幕2021精品| 亚洲天堂免费观看| 中文字幕首页系列人妻| 日韩福利在线观看| 乱系列中文字幕在线视频|