『壹』 java的一個正則表達式幫忙寫下
public List<String> getPhoneNumber(String phoneStrs) {
List<String> phoneNumbers = new ArrayList<String>();
if(phoneStrs!=null && phoneStrs!="") {
//Pattern是正則表達式的承載體,"[\\d]+"表示由數字組成的字元串
Pattern pattern = Pattern.compile("[\\d]+");
//Matcher是正則表達式的匹配器,用來匹配正則表達式
Matcher matcher = pattern.matcher(phoneStrs);
//當找到符合正則表達式的字元串時進入循環
while(matcher.find()) {
//將找到的字元串放到結果集中
phoneNumbers.add(matcher.group());
}
}
return phoneNumbers;
}
在返回的結果集中,存儲的是數字組成的字元串,也就是所謂的電話號碼,如果需要確定位數,正則表達式可換成"[\\d]{n}",n表示多少個數字組成字元串,及字元串長度為n,如果需要找不是0開頭的長度為n的數字組成的字元串,正則表達式可換成"[^0&&\\d][\\d]{n-1}"
『貳』 java里正則表達式是什麼意思啊
就是用來匹配某種格式的。
一個正則表達式,就是用某種模式去匹配一類字元串的一個公式。很多人因為它們看上去比較古怪而且復雜所以不敢去使用——很不幸,這篇文章也不能夠改變這一點,不過,經過一點點練習之後我就開始覺得這些復雜的表達式其實寫起來還是相當簡單的,而且,一旦你弄懂它們,你就能把數小時辛苦而且易錯的文本處理工作壓縮在幾分鍾(甚至幾秒鍾)內完成.
『叄』 急求一個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 正則表達式是什麼
匹配首尾空格的正則表達式:(^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里怎麼用正則表達式判斷字元串是否為合法的手機號
恕我直言,在坐的各位都是渣渣,判斷第一位是1就是手機號真是可笑
public static boolean isMobileNO(String mobiles) {
String telRegex = "[1][3578]\\d{9}";
// "[1]"代表第1位為數字1,"[3578]"代表第二位可以為3、5、8中的一個,"\\d{9}"代表後面是可以是0~9的數字,有9位。
if (TextUtils.isEmpty(mobiles)) {
return false;
} else
return mobiles.matches(telRegex);
}
『陸』 java正則表達式獲取電話號碼問題
在正則表達式中限定行首到行尾就可以了
^((13\d)|(15\d))\d{8}$
『柒』 Java中使用正則表達式驗證手機號碼,大家看我的代碼有什麼問題,沒得出正確的結果。
Patternp=Pattern.compile("^1[34578]\d{9}$");//改成這樣
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true
『捌』 java中電話號碼的正則表達式,只要是11位就可以了,不限定是什麼開頭
首先說明下正則表達式是通用的,不只是JAVA中
下面給個簡單的匹配
^1[0-9]{10}$
或者
^1\d{10}$
上面就最簡單的符合數字而已,如果LZ不考慮第一位是否是1
直接^\d{11}$
『玖』 java中如何提取一個字元串中的電話號碼
java中如何提取一個字元串中的電話號碼,先寫出手機號碼和固定號碼的正則表達式,然後創建模式,獲取到匹配器,從而刷選出符合要求的電話號碼,如下:
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;publicclassTestC{
publicstaticvoidmain(String[]args){
//要提前號碼的字元串
Stringstr="n13977777777s18911111111你好15988888888hha0955-7777777sss0775-6678111";
//提取手機號碼
checkCellphone(str);
//提取固定電話號碼
checkTelephone(str);
}
/**
*查詢符合的手機號碼
*@paramstr
*/
(Stringstr){
//將給定的正則表達式編譯到模式中
Patternpattern=Pattern.compile("((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}");
//創建匹配給定輸入與此模式的匹配器。
Matchermatcher=pattern.matcher(str);
//查找字元串中是否有符合的子字元串
while(matcher.find()){
//查找到符合的即輸出
System.out.println("查詢到一個符合的手機號碼:"+matcher.group());
}
}
/**
*查詢符合的固定電話
*@paramstr
*/
(Stringstr){
//將給定的正則表達式編譯到模式中
Patternpattern=Pattern.compile("(0\d{2}-\d{8}(-\d{1,4})?)|(0\d{3}-\d{7,8}(-\d{1,4})?)");
//創建匹配給定輸入與此模式的匹配器。
Matchermatcher=pattern.matcher(str);
//查找字元串中是否有符合的子字元串
while(matcher.find()){
//查找到符合的即輸出
System.out.println("查詢到一個符合的固定號碼:"+matcher.group());
}
}
結果:
查詢到一個符合的手機號碼:13977777777
查詢到一個符合的手機號碼:18911111111
查詢到一個符合的手機號碼:15988888888
查詢到一個符合的固定號碼:0955-7777777
查詢到一個符合的固定號碼:0775-6678111
『拾』 關於java正則表達式判斷是否是手機號.
//你能把完整的程序貼出來么
//你限定一下位數
publicclassRegexDemo{
publicstaticvoidmain(String[]args){
Stringregex="1(3|5|7|8)[0-9]{9}";
Stringnum="17623629758";
System.out.println(num.matches(regex));
}
}