java的一个正则表达式帮忙写下

来源:百度知道 编辑:UC知道 时间:2024/05/27 17:42:19
java的一个简单正则表达式
比如我有个文本域里填写的是手机号码,每组号码后面用逗号隔开,那么我根据逗号最后要得到这些手机号码,(不带逗号了),怎么写?
哎,这个正则表达式一直都是我的弱项··各位急等··
比如说我在这个文本域里输入了123,234,345,那么我希望得到的就是123 234 345

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}"

(\d+),(\d+),(\d+)
每个括号是一个分组,可以直接取出来的

Pattern p = Pattern.compile("(\\d+),(\\d+),(\\d+)");
Matcher m = p.matcher("电话号码");
while(m.f