『壹』 求java中正則表達式的例子
一、校驗數字的表達式
1 數字:^[0-9]*$
2 n位的數字:^\d{n}$
3 至少n位的數字:^\d{n,}$
4 m-n位的數字:^\d{m,n}$
5 零和非零開頭的數字:^(0|[1-9][0-9]*)$
6 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 帶1-2位小數的正數或負數:^(\-)?\d+(\.\d{1,2})?$
8 正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$
9 有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$
10 有1~3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$
11 非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12 非零的負整數:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13 非負整數:^\d+$ 或 ^[1-9]\d*|0$
14 非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16 非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17 正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18 負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19 浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
二、校驗字元的表達式
1 漢字:^[\u4e00-\u9fa5]{0,}$
2 英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3 長度為3-20的所有字元:^.{3,20}$
4 由26個英文字母組成的字元串:^[A-Za-z]+$
5 由26個大寫英文字母組成的字元串:^[A-Z]+$
6 由26個小寫英文字母組成的字元串:^[a-z]+$
7 由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$
8 由數字、26個英文字母或者下劃線組成的字元串:^\w+$ 或 ^\w{3,20}$
9 中文、英文、數字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$
10 中文、英文、數字但不包括下劃線等符號:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11 可以輸入含有^%&',;=?$\"等字元:[^%&',;=?$\x22]+
12 禁止輸入含有~的字元:[^~\x22]+
三、特殊需求表達式
1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
4 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
5 電話號碼("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
6 國內電話號碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
7 身份證號:
15或18位身份證:^\d{15}|\d{18}$
15位身份證:^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
18位身份證:^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$
8 短身份證號碼(數字、字母x結尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
9 帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]\w{5,17}$
11 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
12 日期格式:^\d{4}-\d{1,2}-\d{1,2}
13 一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$
14 一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
15 錢的輸入格式:
16 1.有四種錢的表示形式我們可以接受:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$
17 2.這表示任意一個不以0開頭的數字,但是,這也意味著一個字元"0"不通過,所以我們採用下面的形式:^(0|[1-9][0-9]*)$
18 3.一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9]*)$
19 4.這表示一個0或者一個可能為負的開頭不為0的數字.讓用戶以0開頭好了.把負號的也去掉,因為錢總不能是負的吧.下面我們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$
20 5.必須說明的是,小數點後面至少應該有1位數,所以"10."是不通過的,但是 "10" 和 "10.2" 是通過的:^[0-9]+(.[0-9]{2})?$
21 6.這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$
22 7.這樣就允許用戶只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
23 8.1到3個數字,後面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
24 備註:這就是最終結果了,別忘了"+"可以用"*"替代如果你覺得空字元串也可以接受的話(奇怪,為什麼?)最後,別忘了在用函數時去掉去掉那個反斜杠,一般的錯誤都在這里
25 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
26 中文字元的正則表達式:[\u4e00-\u9fa5]
27 雙位元組字元:[^\x00-\xff] (包括漢字在內,可以用來計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1))
28 空白行的正則表達式:\n\s*\r (可以用來刪除空白行)
29 HTML標記的正則表達式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對於復雜的嵌套標記依舊無能為力)
30 首尾空白字元的正則表達式:^\s*|\s*$或(^\s*)|(\s*$) (可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表達式)
31 騰訊QQ號:[1-9][0-9]{4,} (騰訊QQ號從10000開始)
32 中國郵政編碼:[1-9]\d{5}(?!\d) (中國郵政編碼為6位數字)
33 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址時有用)
『貳』 急求一個JAVA中判斷用戶輸入的數字是一個合法的電話號碼的正則表達式,包括住宅電話與行動電話。
// TODO : 用正則表達式判斷一個字元串中是否為電話號碼,--無誤格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX
String s="333212";
Pattern p=Pattern.compile("^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$");
Matcher m=p.matcher(s);
System.out.println(m.matches());
/**
* 考證數字:^[0-9]*$
考證n位的數字:^\d{n}$
考證至多n位數字:^\d{n:}$
考證m-n位的數字:^\d{m:n}$
考證零和非零開頭的數字:^(0|[1-9][0-9]*)$
考證有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$
考證有1-3位小數的正實數:^[0-9]+(.[0-9]{1:3})?$
考證非零的正整數:^\+?[1-9][0-9]*$
考證非零的負整數:^\-[1-9][0-9]*$
考證非負整數(正整數 + 0) ^\d+$
考證非正整數(負整數 + 0) ^((-\d+)|(0+))$
考證長度為3的字元:^.{3}$
考證由26個英文字母組成的字元串:^[A-Za-z]+$
考證由26個大寫英文字母組成的字元串:^[A-Z]+$
考證由26個大寫英文字母組成的字元串:^[a-z]+$
考證由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$
考證由數字、26個英文字母恐怕下劃線組成的字元串:^\w+$
考證用戶密碼:^[a-zA-Z]\w{5:17}$無誤格式為:以字母開頭,長度在6-18之間,只能包羅字元、數字和下劃線。
考證是否含有 ^%&rev;':;=?$"等字元:[^%&rev;':;=?$\x22]+
考證漢字:^[\一-\龥]:{0:}$
考證Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
考證InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&rev;=]*)?$;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
考證電話號碼:^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$:--無誤格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
考證身份證號(15位或18位數字):^\d{15}|\d{}18$
考證一年的12個月:^(0?[1-9]|1[0-2])$ 無誤格式為:「01」-「09」和「1」「12」
考證一個月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$無誤格式為:01、09和1、31。
整數:^-?\d+$
非負浮點數(正浮點數 + 0):^\d+(\.\d+)?$
正浮點數^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮點數(負浮點數 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
負浮點數^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點數 ^(-?\d+)(\.\d+)?$
*/
『叄』 java寫一個正則表達式,可以匹配尾號5連的手機號.規則: 第1位是1,第二位可以是數字3458其中之一,後面4位任
1[3458]d{4}
1匹配1
[3458]匹配3458任意一個
d{4}匹配4個0-9
『肆』 java 正則表達式是什麼
匹配首尾空格的正則表達式:(^s*)|(s*$)。
匹配html標簽的正則表達式:<(.*)>(.*)</(.*)>|<(.*)/>。
配空行的正則表達式: [s| ]* 。
整數或者小數:^[0-9]+.{0,1}[0-9]{0,2}$。
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^d{n}$"。
只能輸入至少n位的數字:"^d{n,}$"。
只能輸入m~n位的數字:。"^d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^-[1-9][]0-9"*$。
只能輸入長度為3的字元:"^.{3}$"。
只能輸入由26個英文字母組成的字元串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字元串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字元串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字元串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下劃線組成的字元串:"^w+$"。
驗證用戶密碼:"^[a-zA-Z]w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字元、數字和下劃線。
驗證是否含有^%&',;=?$"等字元:"[^%&',;=?$x22]+"。
只能輸入漢字:"^[u4e00-u9fa5]{0,}$"。
驗證Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
匹配中文字元的正則表達式: [u4e00-u9fa5]。
匹配雙位元組字元(包括漢字在內):[^x00-xff]。
應用:計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1)String.prototype.len=function(){returnthis.replace(/[^x00-xff]/g,"aa").length;}。
『伍』 Java正則表達式沒懂啊,好難啊,來個大神教教我,比如判斷手機號等等,舉更多詳細的問題
字元
x
字元 x
\\
反斜線字元
\0n
帶有八進制值 0 的字元 n
(0 <= n <= 7)
\0nn
帶有八進制值 0 的字元 nn
(0 <= n <= 7)
\0mnn
帶有八進制值 0 的字元
mnn(0 <= m <= 3、0 <= n <= 7)
\xhh
帶有十六進制值 0x 的字元 hh
\uhhhh
帶有十六進制值 0x 的字元 hhhh
\t
製表符 ('\u0009')
\n
新行(換行)符 ('\u000A')
\r
回車符 ('\u000D')
\f
換頁符 ('\u000C')
\a
報警 (bell) 符 ('\u0007')
\e
轉義符 ('\u001B')
\cx
對應於 x 的控制符
字元類
[abc]
a、b 或 c(簡單類)
[^abc]
任何字元,除了 a、b 或 c(否定)
[a-zA-Z]
a 到 z 或 A 到
Z,兩頭的字母包括在內(范圍)
[a-d[m-p]]
a 到 d 或 m 到
p:[a-dm-p](並集)
[a-z&&[def]]
d、e 或 f(交集)
[a-z&&[^bc]]
a 到 z,除了 b 和
c:[ad-z](減去)
[a-z&&[^m-p]]
a 到 z,而非 m 到
p:[a-lq-z](減去)
預定義字元類
.
任何字元(與行結束符可能匹配也可能不匹配)
\d
數字:[0-9]
\D
非數字: [^0-9]
\s
空白字元:[ \t\n\x0B\f\r]
\S
非空白字元:[^\s]
\w
單詞字元:[a-zA-Z_0-9]
\W
非單詞字元:[^\w]
POSIX 字元類(僅 US-ASCII)
\p{Lower}
小寫字母字元:[a-z]
\p{Upper}
大寫字母字元:[A-Z]
\p{ASCII}
所有 ASCII:[\x00-\x7F]
\p{Alpha}
字母字元:[\p{Lower}\p{Upper}]
\p{Digit}
十進制數字:[0-9]
\p{Alnum}
字母數字字元:[\p{Alpha}\p{Digit}]
\p{Punct}
標點符號:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph}
可見字元:[\p{Alnum}\p{Punct}]
\p{Print}
可列印字元:[\p{Graph}\x20]
\p{Blank}
空格或製表符:[ \t]
\p{Cntrl}
控制字元:[\x00-\x1F\x7F]
\p{XDigit}
十六進制數字:[0-9a-fA-F]
\p{Space}
空白字元:[ \t\n\x0B\f\r]
留下聯系方式或者私信
『陸』 java正則表達式怎樣匹配 "手機號","數字",其中數字為0-2
^1[3,5]{1}[0-9]{1}[0-9]{8}$ 手機號的
[0-2] 數字0~2
『柒』 java中電話號碼的正則表達式,只要是11位就可以了,不限定是什麼開頭
首先說明下正則表達式是通用的,不只是JAVA中
下面給個簡單的匹配
^1[0-9]{10}$
或者
^1\d{10}$
上面就最簡單的符合數字而已,如果LZ不考慮第一位是否是1
直接^\d{11}$
『捌』 java正則表達式獲取電話號碼問題
在正則表達式中限定行首到行尾就可以了
^((13\d)|(15\d))\d{8}$
『玖』 關於java正則表達式判斷是否是手機號.
//你能把完整的程序貼出來么
//你限定一下位數
publicclassRegexDemo{
publicstaticvoidmain(String[]args){
Stringregex="1(3|5|7|8)[0-9]{9}";
Stringnum="17623629758";
System.out.println(num.matches(regex));
}
}
『拾』 Java中使用正則表達式驗證手機號碼,大家看我的代碼有什麼問題,沒得出正確的結果。
Patternp=Pattern.compile("^1[34578]\d{9}$");//改成這樣
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true