Я пытаюсь сделать регулярное выражение "все или ничего" в том смысле, что данное слово должно ТОЧНО соответствовать регулярному выражению - если нет, совпадение не найдено.
Например, если мое регулярное выражение:
^[a-zA-Z][a-zA-Z|0-9|_]*
Тогда я бы хотел соответствовать:
cat9
cat9_
bob_____
Но я бы НЕ хотел совпадать:
cat7-
cat******
rango78&&
Я хочу, чтобы мое регулярное выражение было настолько строгим, насколько это возможно, подходя к принципу «все или ничего». Как я могу это сделать?
РЕДАКТИРОВАТЬ: Чтобы сделать мое регулярное выражение абсолютно ясным, шаблон должен начинаться с буквы, за которой следует любое количество цифр, букв или подчеркиваний. Другие символы не допускаются. Ниже приведена программа, которую я использую для проверки своего регулярного выражения.
Pattern p = Pattern.compile("^[a-zA-Z][a-zA-Z|0-9|_]*");
Scanner in = new Scanner(System.in);
String result = "";
while(!result.equals("-1")){
result = in.nextLine();
Matcher m = p.matcher(result);
if(m.find())
{
System.out.println(result);
}
}