激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 在Java編程中使用正則表達式

在Java編程中使用正則表達式

2020-01-03 14:51selFire JAVA教程

這篇文章主要介紹了在Java編程中使用正則表達式,注意使用matches()方法檢測一下Java對正則表達式的支持情況,需要的朋友可以參考下

在程序設計過程中,經常需要對輸入的數據格式進行檢查,這時就會用到正則表達式,匹配正則表達式則數據格式正確,否則格式錯誤。為了檢查輸入的數據是否滿足某種格式,可以使用String類的matches()方法進行判斷,語法格式如下:

?
1
boolean matches(String regex)

regex:指定的正則表達式。
返回值:返回boolean類型。
該方法用于告知當前字符串是否匹配參數regex指定的正則表達式,返回值是boolean類型,如果當前字符串與正則表達式匹配,則該方法返回true,否則返回false。

正則表達式是由一些含有特殊意義的字符組成的字符串,這些含有特殊意義的字符稱為元字符,下面列出了正則表達式的部分元字符,在正則表達式的寫法中,要在下列元字符的前面添加“\”符號進行轉譯,例如元字符“\d”在正則表達式的寫法中是“\d”,但是對于“.”,轉譯后就不代表任意一個字符啦,而是表示一個具體的句點。

.:代表任意一個字符。
\d:代表0~9的任何一個數字。
\D:代表任何一個非數字字符。
\s:代表空白字符。
\S:代表非空白字符。
\w:代表可用作標識符的字符,但不包括“$”。
\W:代表不可用作標識符的字符。
\p{Lower}:代表小寫字母a~z。
\p{Upper}:代表大寫字母A~A。
\p{ASCII}:ASCII字符。
\p{Alpha}:字母字符。
\p{Digit}:十進制數字,0~9。
\p{Alnum}:數字或字母字符。
\p{Punct}:標點符號。
\p{Graph}:可見字符。
\p{Print}:可打印字符。
\p{Blank}:空白或制表符。
\p{Cntrl}:控制字符。

在使用 正則表達式時,如果需要某一類型的元字符多次輸出,逐個輸入就相當麻煩,這時就可以使用正則表達式的限定字符來重復次數,下面列出了常用限定符及其含義。

?:0次或1次。
*:0次或多次。
+:0次或1次。
{n}:重復n次。
{n,}:至少重復n次。
{n,m}:重復n~m次。

在正則表達式中還可以用方括號把多個字符括起來,方括號中各種正則表達式代表不同的含義,下面列出了方括號中元字符及其含義。

[abc]:表示a、b或者c。
[^abc]:表示a、b和c之外的任何字符。
[a-zA-Z]:a~z或A~Z的任何字符。
[a-d[m-p]]:a~d或m~p的任何字符。
[a-z&&[def]]:d、e或者f。
[a-z&&[^bc]]:a~z之間不含b和c的所有字符。
[a-z&&[^m-p]]:a~z之間不含m~p的所有字符。


用法示例:
1、車牌號:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
 
*
 
* @description:驗證車牌號
 
* @param carNum
 
*      豫A106EK
 
* @return 合法:true 不合法:false
 
*/
 
public static boolean validateCarNum(String carNum) {
 
boolean result = false;
 
String[] provence = new String[] { "京", "津", "冀", "晉", "遼", "吉", "黑", "滬", "蘇", "浙", "皖", "閩", "贛", "魯", "豫", "鄂", "湘", "粵", "桂", "瓊", "渝",
 
"川", "黔", "滇", "藏", "陜", "甘", "青", "寧", "新", "港", "澳", "蒙" };
 
String reg = "[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}";
 
boolean firstChar = false;
 
if (carNum.length() > 0) {
 
firstChar = Arrays.asList(provence).contains(carNum.substring(0, 1));
 
}
 
try {
 
Pattern p = Pattern.compile(reg);
 
Matcher m = p.matcher(carNum);
 
if (m.matches() && firstChar) {
 
result = true;
 
} else {
 
result = false;
 
}
 
} catch (Exception e) {
 
e.printStackTrace();
 
}
 
return result;
 
}

2、手機號碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 
*
 
* @description:驗證手機號碼
 
* @param mobileNum 15516985859
 
* @return 合法:true 不合法:false
 
*/
 
public static boolean isMobileNum(String mobileNum) {
 
boolean result = false;
 
try {
 
Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
 
Matcher m = p.matcher(mobileNum);
 
result = m.matches();
 
} catch (Exception e) {
 
e.printStackTrace();
 
}
 
return result;
 
}

 

手機號+固定電話:010-1111111,15516985859,0377-1111111

?
1
2
3
4
5
6
7
8
9
10
11
12
13
//java檢測是否為電話號碼(手機、固定電話驗證)
 
String legalPhone = "";
String regExp ="^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}|[0]{1}[0-9]{2,3}-[0-9]{7,8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(importPotentialBFOs[i].getLegalPhone());
if(m.find()){ //注意:m.find只能用一次,第二次調用后都為false
 legalPhone = importPotentialBFOs[i].getLegalPhone();
 uploadTmp.setLegalTelephone(legalPhone);
 
}else{
 throw new BizException("聯系電話格式錯誤!");
}

3.實數:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
String[] arrs=new String[]{"a","1.123","-1.23","0","+111"};
 
      String regex="-?\\d+\\.?\\d*";
 
      Pattern p = Pattern.compile(regex);
 
      for (int i = 0; i < arrs.length; i++) {
 
       Matcher m = p.matcher(arrs[i]);
 
       System.out.println(arrs[i]+":"+m.matches());
 
 }

打印:

a:false

1.123:true

-1.23:true

0:true

+111:false

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本黄色免费播放 | 视频一区二区不卡 | 日本免费a∨ | 黄色网战在线看 | 国产精品久久久久久久久久尿 | 色妞妞视频| 国产在线观看一区二区三区 | 成年人免费高清视频 | 羞羞视频免费网站入口 | 亚洲第一黄色网 | 5xsq在线视频| 国产精品99久久久久久董美香 | 国产一级小视频 | xvideos korean| 免费永久看羞羞片网站入口 | 国产午夜亚洲精品 | 免费黄色成人 | 中文字幕免费一区 | 91网站链接 | 欧美性受xxxxxx黑人xyx性爽 | 免费看日产一区二区三区 | 欧美日韩国产一区二区三区在线观看 | 亚洲成人国产综合 | 色精品国产 | 午夜视频导航 | 最新一区二区三区 | xfplay噜噜av| 一级黄色淫片 | 成人444kkkk在线观看 | 日本残忍极度灌浣肠视频 | 国产精品99久久久久久久女警 | 亚洲人片在线观看 | 97超级碰碰人国产在线观看 | 欧美日韩亚洲国产精品 | 7777欧美| 黑色丝袜美美女被躁视频 | 亚洲第一黄色网 | av在线观 | 成人在线观看免费高清 | 91精品国产91久久久 | 亚洲精品久久久久www |