Проверьте правильность имени, указав правильный регистр и не более одного пробела
Я искал в сети все выражения регулярных выражений, но я не нашел ничего, соответствующего моим потребностям.
регулярное выражение для разрешения пробелов между словами
Регулярное выражение, позволяющее вводить буквенно-цифровые символы, не более одного пробела и т. Д.
Regex, каждый не алфавитно-цифровой символ, кроме пробела или двоеточия
В не перечисленном выше я получил решение:
Мне нужно проверить, если Nam действителен, если
=> Первая буква каждого слова должна быть заглавными буквами
=> Остальные буквы каждого слова должны быть маленькими
=> Имя должно содержать только буквенные символы AZ и az
=> Длина первого слова должна быть не менее 3
=> Имя не должно содержать более одного пробела между словами
Пример:
Суджай => ложь
Суджай => правда
Суджай и => ложь
Суджай U => правда
Суджай U н => ложь
Суджай ООН => правда
SuJay U => ложь
Суджай ООН => ложь
Суджай Улс => правда
Sujay9 => ложь
Су => ложь
Су U => ложь
Суджай ООН => правда
Суджай Улс Нат => правда
|*| Проверьте используемую функцию:
static boolean chkNamVldFnc(String namVar)
{
String namRegExpVar = "[A-Z][A-Za-z ]{2,}";
Pattern pVar = Pattern.compile(namRegExpVar);
Matcher mVar = pVar.matcher(namVar);
return mVar.matches();
}
|*| Попробуйте 1:
String namRegExpVar = "[A-Z][A-Za-z ]{2,}";
|*| Попробуйте 2:
String namRegExpVar = "[A-Z][a-z]{2,}+//s[A-Z][a-z]{2,}";
|*| Попробуйте 3:
String NamRegExpVar = "[A-Z][a-z]{2,}||[A-Z][a-z]{2,}+//s[A-Z][a-z]";
Пожалуйста, помогите мне с надлежащим регулярным опытом:
Я также хочу знать, почему мы должны начинать Reg Exp с ^ и заканчивать $
1 ответ
Пытаться:
^[A-Z][a-z]{2,}(?: [A-Z][a-z]*)*$
- Имя должно начинаться с буквы AZ, за которой следуют как минимум 2 буквы az
- При желании могут быть имена после имени, разделенные пробелом и начинающиеся с буквы AZ, за которыми следуют дополнительные буквы az