Указанные правила для струнных являютсяJava RegEx - специальный символ сезам конца строки
[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();
}
Существует простой метод с RegEx (я должен используйте его), как «завершите эту строку с помощью # и не разрешайте другие символы».
Другая проблема: Как я могу заверить, что мой тест не позволит другим символам, кроме 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();
(с переговоров)
Спасибо за помощь :)
Вы имеете в виду это http://regex101.com/r/jV9lQ9/2? –