各位好!小弟正在写有关手机选号的但现在出了问题,我用的是正则表达式、
比如:AAAAA
号码是13500000000,13512300000我只要选13512300000出了但13500000000也会一起出现要怎么改正则表达式如下
public boolean RegAAAAA3(String str){
sql=str.substring(6,11);
st="(\d)0-3(\2){2}";
p=Pattern.compile(st);
m=p.matcher(str);
return m.find();
}
[b]问题补充:[/b]
我只要选择后面的五位相同的00000但第六位不能是000000而是其他的数字
[b]问题补充:[/b]
不是这样
我QQ247968148
[code="java"]public boolean RegAAAAA3(String str) {
String st = "\d{6}(\d)\1{4}";
Pattern p = Pattern.compile(st);
Matcher m = p.matcher(str);
while (m.find()) {
String tmp = m.group(1);
String st1 = "\d{5}[^"+tmp+"]["+tmp+"]{5}";
System.out.println(st1);
Pattern p1 = Pattern.compile(st1);
Matcher m1 = p1.matcher(str);
while(m1.find()){
return true;
}
}
return false;
}[/code]
写具体要求啊 你这个正则表达式是干什么的都不知道 怎么帮你改
你看看 我不确定你是不是这个意思
[code="java"]public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "13500000000,13512300000";
System.out.println(new Test1().RegAAAAA3(s));
}
public List<String> RegAAAAA3(String str) {
List<String> result = new ArrayList();
String st = "\\d{5}[^0][0]{5}";
Pattern p = Pattern.compile(st);
Matcher m = p.matcher(str);
while (m.find()) {
str = m.group();
result.add(str);
}
return result;
}[/code]
上面有点错误...看这个
[code="java"]
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "13500000000,13512300000";
System.out.println(new Test1().RegAAAAA3(s));
}
public List<String> RegAAAAA3(String str) {
List<String> result = new ArrayList();
String st = "\\d{5}[^0][0]{5}";
Pattern p = Pattern.compile(st);
Matcher m = p.matcher(str);
while (m.find()) {
result.add(m.group());
}
return result;
}
[/code]