关于正折表达式,请大家帮忙看看,多谢了!
我想匹配这样的字符串:
a1w2/1234/
正折如下:
\\S{0,4}/\\d{0,4}现在我想表达整个字符串总长度不超过10,如果d{0,4}是0,那么S{0,4}变成S{0,8}也是允许的,反过来也一样,就是说以下都是被允许的:
a1w2/1234/
a1w2er34//
/01231234/
a1w/12344/
a1w3w/123/
就是说控制总长度,请问如何写这个正折表达式?多谢了!
我想匹配这样的字符串:
a1w2/1234/
正折如下:
\\S{0,4}/\\d{0,4}现在我想表达整个字符串总长度不超过10,如果d{0,4}是0,那么S{0,4}变成S{0,8}也是允许的,反过来也一样,就是说以下都是被允许的:
a1w2/1234/
a1w2er34//
/01231234/
a1w/12344/
a1w3w/123/
就是说控制总长度,请问如何写这个正折表达式?多谢了!
if(sr.length() <= 10 && sr.matches("\\S{0,8}/\\d{0,8}/")){
System.out.println("true");
}else{
System.out.println("flase");
}
-------------
WIN_ANGEL(金麟岂是池中物,一遇风云便化龙!) ( ) 信誉:100 Blog 加为好友 2007-04-23 11:13:09 得分: 0
假设你的字符串叫sr
if(sr.length() <= 10 && sr.matches("\\S{0,8}/\\d{0,8}/")){
System.out.println("true");
}else{
System.out.println("flase");
}
------------已经满足你的要求了(可以有不同的组合),你可以先试了再说,
if(sr.matches("([\\S]|[\\d]|[/]){0,10}") && sr.matches("\\S{0,8}/\\d{0,8}/")){
System.out.println("true");
}else{
System.out.println("flase");
}
如果字符串不超过10就是上面那么写{0,10} 如果是固定必须10位 那就是{10}
应该可以了吧 上面是2个正则 楼主你不会是想用1个正则表达式就达到目的吧 我感觉是不可能 最起码我的水平是不行