генерация регулярных выражений

#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] $
  

это должно сработать