关于正则表达式的问题
需要写一个正则表达式,能够根据第一个匹配的数字匹配后面的数据,
如:3,12,13,14
前面的3表示后面有三个数字,它们之间都用‘,’分割
同样2,11,10
第一个2表示后面紧接着两个数字
不知正则可不可以做到这点,望高人指点。
[解决办法]
呵呵...新手,不会!先顶一下...
[解决办法]
如果只有2和3两种情况可以
(2(,\d+){2}|3(,\d+){3})
如果不定,那没办法做
[解决办法]
public boolean isOk(String str){
String num=str.substring(0,str.indexOf( ", "));
String regex=num+ "(,\\d+){ "+num+ "} ";
if(str.replaceFirst(regex, " ").equals( " ")){
return true;
}
return false;
}
[解决办法]
String str = "3,12,13,14 ";
if(str.matches( "(\\d+,)+\\d+ ") &&
str.split( ", ").length-1 == new Integer(str.split( ", ")[0]).intValue())
System.out.println(true);
[解决办法]
无法实现啊,因为有些逻辑的东西在里面,并不完全是数据样式的问题!