给出字符串的规则如下:
[Random Nr of Letters]##[Random Nr of Letters]#[Random Nr of Letters]##########
字符串长度必须为35
我的字符串例如长这样
TEST##TESTING#TEST#################
我的问题是我无法检测错误格式,比如:
TEST##TESTING#TEST##A##############
我的方法是:
private static boolean test(String test_line) {
String test = "[A-Z]{1,}##[A-Z]{1,}#[A-Z]{1,}#{1,}";
Pattern test_pattern = Pattern.compile(test);
Matcher matcher = test_pattern.matcher(test_line);
return matcher.find();
}
有没有一种使用正则表达式的简单方法(我必须使用它),例如“以#结束此字符串,并且不允许其他字符”。
另一个问题: 如何确保我的测试不允许除A-Z 0-9和#之外的其他字符?类似于:
String test = "([^A-Z][^0-9][#])";
Pattern test_pattern = Pattern.compile(test);
Matcher matcher = test_pattern.matcher(test_line);
return matcher.find();
(带有谈判)
感谢您的帮助 :)