Определить, что в строке одна заглавная буква
Как с помощью регулярных выражений в python определить, что в строке только одна заглавная буква?
Ответы (2 шт):
Автор решения: Kost21
→ Ссылка
a = "abcC"
print(a.istitle()) # является ли первая буква заглавной. В данном случае вернет Fasle
print(a[3].istitle()) # является ли выбранная буква заглавной. В данном случае вернет True
Автор решения: Vladislav Pavkin
→ Ссылка
Если в вашей строке только латинские буквы, попробуйте такое решение:
import re
strings = ['abc', 'aBc', 'aBC', 'AbC']
pattern = r'[a-z]*[A-Z]{1}[a-z]*'
for string in strings:
print(re.fullmatch(pattern, string))
Результат:
None
<re.Match object; span=(0, 3), match='aBc'>
None
None
Если же есть русские буквы или другие символы, начальную и конечную части паттерна можно попробовать доработать под вашу задачу.