Этот код Regex userAndPassPattern = new Regex("^[a-z0-9.@#$%&]$");
будет соответствовать только имени пользователя или паролю длиной в один символ.
Вы ищете что-то подобное Regex userAndPassPattern = new Regex("^[a-z0-9.@#$%&]+$");
, которое будет соответствовать одному или нескольким персонажам в вашем классе. Символ +
указывает, что он соответствует одному или нескольким предыдущим атомам (в данном случае это класс символов, указанный вами в квадратных скобках)
Кроме того, если вы не хотели ограничивать соответствие строчными буквами, вы должны добавить 'A-Z' к классу символов Regex userAndPassPattern = new Regex("^[A-Za-z0-9.@#$%&]$");
Возможно, вы также захотите внедрить ограничение минимальной длины, которое можно выполнить, заменив +
конструкцией {n,}
, где n
- минимальная длина, которую вы хотите сопоставить. Например:
это будет соответствовать минимум 6 символов
Regex userAndPassPattern = new Regex("^[a-z0-9.@#$%&]{6,}$");
это будет соответствовать минимум 6 и максимум 12
Regex userAndPassPattern = new Regex("^[a-z0-9.@#$%&]{6,12}$");