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
賺錢方法
捕魚
主站蜘蛛池模板: 国产区在线看| 日韩精品无码一级毛片免费| 久久精品国产91久久综合麻豆自制| 国产一级片网址| 欧美无专区| 国产成人欧美| 97视频免费在线观看| 美女黄网十八禁免费看| 亚洲aⅴ天堂| 亚洲一区二区视频在线观看| 最新国产成人剧情在线播放| 538国产视频| 波多野结衣中文字幕一区| 欧美在线国产| 久久夜色精品| 欧美天堂久久| 在线色国产| 国产精品专区第一页在线观看| 亚洲一级无毛片无码在线免费视频| 欧美不卡视频在线观看| 亚洲欧美精品在线| 国产黄在线免费观看| 亚洲人成网站色7799在线播放| 欧美视频在线播放观看免费福利资源 | 91免费国产在线观看尤物| 国产一区二区三区精品久久呦| 国产成人久视频免费| 色妺妺在线视频喷水| 欧美啪啪一区| 国产日韩欧美精品区性色| 乱色熟女综合一区二区| 这里只有精品在线播放| 99国产精品免费观看视频| 久久情精品国产品免费| 精品日韩亚洲欧美高清a| 午夜啪啪网| 亚洲不卡影院| 欧美日韩在线成人| 粗大猛烈进出高潮视频无码| 国产高清免费午夜在线视频| 四虎亚洲国产成人久久精品| 中文字幕亚洲无线码一区女同| 色色中文字幕| 日韩在线欧美在线| 国产成人精品一区二区| 99久久国产自偷自偷免费一区| 一本大道东京热无码av| 国产 在线视频无码| 亚洲第一区精品日韩在线播放| 91福利在线看| 久久国产拍爱| 99热这里只有精品免费| 中文国产成人精品久久一| 亚洲αv毛片| 国产精品美女自慰喷水| 91福利免费视频| 特级欧美视频aaaaaa| 亚洲成人网在线播放| 国产精品三级专区| 亚洲一道AV无码午夜福利| 91九色视频网| 亚洲九九视频| 亚洲欧美人成电影在线观看| 欧美一级爱操视频| 成人福利一区二区视频在线| 国产91视频观看| 国产一级精品毛片基地| 亚洲va在线观看| 国产福利拍拍拍| 熟妇丰满人妻| 成人在线亚洲| 亚洲成aⅴ人在线观看| 国产91久久久久久| 久青草免费在线视频| 亚洲天堂色色人体| 欧美成人综合在线| 精品无码人妻一区二区| 丝袜国产一区| 日本精品视频一区二区| 就去吻亚洲精品国产欧美| 日韩资源站| 国产精品高清国产三级囯产AV|