我正在尝试用 Java 编写一个方法来检查字符串并允许它只包含数字和逗号。此外,不能有重复的数字。
例如:
11,22,33
- 还行吧22,22,33
- 这不行
我已经使用正则表达式和(如下)的组合完成了它的初稿Set<String>
,但正在寻找更好的东西,最好只使用正则表达式。
public boolean isStringOk(String codes) {
if(codes.matches("^[0-9,]+$")){
Set<String> nonRepeatingCodes = new LinkedHashSet<String>();
for(String c: codigoRoletas.split(",")){
if(nonRepeatingCodes.contains(c)){
return false;
}
else{
nonRepeatingCodes.add(c);
}
}
return true;
}
return false;
}
有谁知道这是否可以仅使用正则表达式?