У вас уже есть полный шаблон [A-Za-z0-9]+(-[A-Za-z0-9]+){2}
, и может быть проще перечислить шаблон и вывести сообщение об ошибке, указывающее, что введенные данные не соответствуют требуемому шаблону.
Если вы хотитеОставьте отзыв для пользователя, проанализировав тип ошибки, которую вы сделали, и затем вы должны создать шаблон для всех типов ошибок, которые может сделать пользователь.Для кода, который я предлагаю использовать, например, структуру if else if
, чтобы вы не получили сообщение об ошибке, пока шаблон правильный.
О втором и третьем шаблонах
Второй должен отображаться, когда нет букв, цифр или тире (-).
Второй шаблон .[^-A-Za-z0-9].
будет соответствовать 3 символам, где первый иlast может быть любым символом, кроме новой строки из-за точки, а также может совпадать с буквой или цифрой.
Чтобы не совпадать ни с цифрами, ни с тире, вы можете использовать:
.*[^-A-Za-z0-9].*
Третий должен убедиться, что 2 тире не являются последовательными и не находятся в начале или конце
Третий шаблон [^A-Za-z0-9]+(-[A-Za-z0-9]+)
сначала соответствует тому, что не входит в класс символов из-задля отрицания с помощью [^
также можно сопоставить перенос, поскольку он не указан в списке, но не обязан.
Чтобы сопоставить этот шаблон, можно повторить дефис 1+ раз:
[A-Za-z0-9]+(-+[A-Za-z0-9]+){2,}
Обновлен Java cода