‘壹’ 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));
}
}