Как использовать регулярное выражение для поиска слов, содержащих одну или несколько заглавных букв?

Здравствуйте!
Вы ищете помощи в улучшении вашего регулярного выражения для поиска слов, в которых есть одна или несколько заглавных букв внутри. Ваше текущее выражение \b\H+[A-Z]\b не работает для вашей задачи. Вам нужно настроить выражение таким образом, чтобы оно искало заглавный символ, перед которым находится любой другой символ, кроме пробела. Но вы не знаете, как это сделать. Пожалуйста, подскажите, что не так с вашим выражением и как его можно улучшить для решения вашей задачи.
  • 14 октября 2023 г. 14:49
Ответы на вопрос 2
Вам необходимо внести некоторые изменения в свое текущее регулярное выражение, чтобы оно работало корректно.

Вместо выражения \b\H+[A-Z]\b вы можете использовать следующее регулярное выражение:

\b\w*[A-Z]\w*\b

Чтобы разобраться, что изменилось, взглянем на составляющие данного выражения:

- \b - граница слова (начало и конец слова)
- \w* - любой символ слова (буквы, цифры или подчеркивание), повторяющийся ноль или более раз
- [A-Z] - заглавная буква, которую вы ищете
- \w* - любой символ слова (буквы, цифры или подчеркивание), повторяющийся ноль или более раз
- \b - граница слова (начало и конец слова)

Это выражение будет искать слова, которые содержат хотя бы одну заглавную букву.

Обратите внимание, что в этой регулярке подразумевается, что под словом все еще будет считаться набор символов без пробелов. Если вы хотите искать слова с пробелами внутри, вам также придется внести некоторые изменения в выражение.
\b[а-яА-ЯёЁ]*[А-ЯЁ][а-яА-ЯёЁ]*\b выражение позволяет найти слова, в которых первая буква является заглавной. Если вы примените это выражение к тексту: "Это пример текста с InterFace и другими Словами СБольшойБуквой", то найдете следующие слова: "InterFace", "Словами", "СБольшойБуквой".
Похожие вопросы