正則表達式,也叫做規(guī)則表達式,它是一個計算機領(lǐng)域的一個概念,它的作用就是檢索和替換符合某個規(guī)則的文本,有很多的語言都是支持正則表達式的,使用正則表達式來編寫代碼是非常的簡潔的,一般只需要兩行到三行的代碼就可以了,很多朋友想了解一下java 正則表達式的相關(guān)情況,下面成都網(wǎng)站建設(shè)就來具體的說明一下java 正則表達式規(guī)則是怎樣的?Java中如何寫正則表達式等問題。
創(chuàng)新互聯(lián)公司專注于企業(yè)
成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、萬年網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、
HTML5建站、
成都做商城網(wǎng)站、集團公司官網(wǎng)建設(shè)、
外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為萬年等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。java 正則表達式的規(guī)則
1. 任意一個字符表示匹配任意對應(yīng)的字符,如a匹配a,7匹配7,-匹配-。
2. []代表匹配中括號中其中任一個字符,如[abc]匹配a或b或c。
3. -在中括號里面和外面代表含義不同,如在外時,就匹配-,如果在中括號內(nèi)[a-b]表示匹配26個小寫字母中的任一個;[a-zA-Z]匹配大小寫共52個字母中任一個;[0-9]匹配十個數(shù)字中任一個。
4. ^在中括號里面和外面含義不同,如在外時,就表示開頭,如^7[0-9]表示匹配開頭是7的,且第二位是任一數(shù)字的字符串;如果在中括號里面,表示除了這個字符之外的任意字符(包括數(shù)字,特殊字符),如[^abc]表示匹配出去abc之外的其他任一字符。
5. .表示匹配任意的字符。
6. \d表示數(shù)字。
7. \D表示非數(shù)字。
8.\s表示由空字符組成,[ \t\n\r\x\f]。
9.\S表示由非空字符組成,[^\s]。
10.\w表示字母、數(shù)字、下劃線,[a-zA-Z0-9_]。
11.\W表示不是由字母、數(shù)字、下劃線組成。
12.?: 表示出現(xiàn)0次或1次。
13.+表示出現(xiàn)1次或多次。
14.*表示出現(xiàn)0次、1次或多次。
15.{n}表示出現(xiàn)n次。
16.{n,m}表示出現(xiàn)n~m次。
17.{n,}表示出現(xiàn)n次或n次以上。
18.XY表示X后面跟著Y,這里X和Y分別是正則表達式的一部分。
19.X|Y表示X或Y,比如"food|f"匹配的是foo(d或f),而"(food)|f"匹配的是food或f。
20.(X)子表達式,將X看做是一個整體。
Java中如何寫正則表達式
在java中調(diào)用正則表達式的類是java.util.regex.Matcher和java.util.regex.Pattern,java.util.regex包是從jdk1.4開始提供的。有多種寫法來使用正則表達式。
1. 僅僅是匹配
1). 實現(xiàn)方式1,匹配一個數(shù)字。
public void regex1() {
//要匹配的字符
String str = "8";
//正則表達式
String regex = "[0-9]";
//返回匹配的結(jié)果,匹配成功就返回true,失敗就返回false,此次匹配返回true。
boolean flag = Pattern.matches(regex, str);
System.out.println(flag);
}
2). 實現(xiàn)方式2, 匹配3個到5個字母,大小寫不限,包括3和5個。
public void regex2() {
//要匹配的字符
String str = "hello";
//正則表達式
String regex = "[a-zA-Z]{3,5}";
//輸出匹配的結(jié)果, 此次匹配返回true。
System.out.println(str.matches(regex));
}
3). 實現(xiàn)方式3(此種實現(xiàn)方式最快), 匹配11位的電話號碼,匹配規(guī)則:第一個數(shù)字是1,第二個數(shù)字是2,3,7,8中任一個,后面9位數(shù)字中不包含4。
public void regex3() {
//要匹配的字符
String str = "13656231253";
//正則表達式
String regex = "1[2378][0-35-9]{9}";
//將給定的正則表達式編譯為模式。 如果匹配需求較多,且需用同相同的regex去匹配,就可將這句寫到靜態(tài)模塊里面,用的時候直接使用實例p
Pattern p = Pattern.compile(regex);
//創(chuàng)建一個匹配器,匹配給定的輸入與此模式。
Matcher m = p.matcher(str);
//嘗試將整個區(qū)域與模式進行匹配。
boolean flag = m.matches();
//輸出匹配結(jié)果,此次結(jié)果為true
System.out.println(flag);
}
2. 替換。
public void regexReplace () {
//要匹配的字符
String str = "12a6B985Ccv65";
//正則表達式
String regex = "[a-zA-Z]+";
//正則表達式
String regex2 = "\\d+";
//將字符串中英文字母替換為&符號,輸出12&6&985&65
System.out.println(str.replaceAll(regex, "&"));
//將字符串中單個數(shù)字或者連續(xù)的數(shù)字替換為0,輸出0a0B0Ccv0
System.out.println(str.replaceAll(regex2,"0"));
}
3. 切割,根據(jù)大寫字母切割字符串。
public void outputStr() {
String str = "oneTtowTthreeDfourJfive";
String regex = "[A-Z]";
String[] arr = str.split(regex);
for (String s: arr) {
System.out.print(s + " ");
}
}
輸出:one tow three four five。
java 正則表達式的特點
1. 靈活性、邏輯性和功能性非常強;
2. 可以迅速地用極簡單的方式達到字符串的復(fù)雜控制。
3. 對于剛接觸的人來說,比較晦澀難懂。
由于正則表達式主要應(yīng)用對象是文本,因此它在各種文本編輯器場合都有應(yīng)用,小到編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內(nèi)容。
java 正則表達式規(guī)則是怎樣的?以上就給大家介紹了java 正則表達式規(guī)則的問題,java 正則表達式的規(guī)則有很多,大家在編寫java 正則表達式的時候,就一定要遵守這些規(guī)則,java 正則表達式具有邏輯性強和靈活性高等的特點,對于剛開始寫java 正則表達式的朋友來說,可能有些困難,但是千萬不要放棄,如有疑問,可以咨詢創(chuàng)新互聯(lián)。
網(wǎng)站標題:java正則表達式規(guī)則是怎樣的?Java中如何寫正則表達式?
瀏覽路徑:http://jinyejixie.com/article10/sdoggo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計、網(wǎng)站策劃、商城網(wǎng)站、品牌網(wǎng)站建設(shè)、域名注冊
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)