#regex
#регулярное выражение
Вопрос:
Мне нужно регулярное выражение для проверки, что строка должна содержать только буквы и пробел.Никакие другие символы, кроме буквы [A-Z] и пробела, не допускаются. Пожалуйста, помогите.
Ответ №1:
Полное регулярное выражение выглядит следующим образом
^[A-Z ] $
Вы можете просто создать символьный класс и поместить символы, в которые вы хотите разрешить:
[A-Z ]
если вы хотите разрешить также буквы нижнего регистра, тогда используйте
[A-Za-z ]
или используйте опцию i (IgnoreCase)
Итак, ваш символьный класс соответствует 1 символу. вы хотите повторить его, чтобы соответствовать более чем одному символу.
был бы хотя бы один символ, где
*
дополнительно соответствовало бы 0 символам
В качестве последнего шага вам нужно убедиться, что вся строка соответствует, вы можете сделать это с помощью якорей.
^
соответствует началу строки
$
соответствует концу строки (или новой строке, если вы используете параметр m (многострочный)
Ответ №2:
Символьного класса должно быть достаточно
[A-Z ]
т. е. одна или более букв между A-Z и пробелом
Комментарии:
1. верно, ^ [A-Z] это был бы лучший ответ! спасибо
Ответ №3:
Убедитесь, что строка соответствует следующему:
^[a-zA-Z ]*$
Ответ №4:
Классы символов регулярных выражений можно отменить, поместив ^
символ в начале их.
Ваш пример можно было бы опровергнуть следующим образом: [^A-Z]
. Добавьте пробел, чтобы разрешить полный набор символов, которые вы хотите проверить, и у вас есть [^A-Z ]
.
Теперь у вас есть средство проверки, которое соответствует вашим критериям: если это регулярное выражение возвращает значение true, то ваша проверка завершается неудачей.
Поскольку вы не указали язык программирования, на котором работаете, я не могу помочь вам намного больше.
Ответ №5:
Это будет соответствовать тому, что вам нужно:
^[A-Zs] $
Ответ №6:
попробуйте сопоставить с этим регулярным выражением
^[A-Za-zs] $
это должно сработать