Мне нужно извлечь из текста все слова, соответствующие этим двум требованиям:
- Содержит хотя бы одну заглавную букву
- Не полностью состоит из заглавных букв.
Итак, Word и WorD являются правильными захватами, но word и WORD не являются.
Итак, я могу перехватить все слова, используя \b([a-zA-Z]+)\b
Regex, но я не знаю, как добавить условие заглавных букв здесь.
Что касается требования # 1, я пытался использовать положительный прогноз здесь вот так:
\b(?=.*[A-Z]+)([a-zA-Z]+)\b
, но теперь он захватывает все слова из строки, если в этой строке есть хотя бы одна заглавная буква.
Можно ли вообще применить дополнительные условия к группе захвата?
Я могу обработать это в коде моего приложения, но я бы действительно предпочел уместить все эти требования в одном Regex.