Извлечь одиночные заглавные буквы из строки с помощью регулярных выражений в Python - PullRequest
0 голосов
/ 31 марта 2019

Мне нужно извлечь все «одинокие» заглавные буквы из строки.Под «одиноким» я подразумеваю - не следует или не предшествует буквенно-цифровой символ, знаки пунктуации, скобки и т. Д.'-T- xxAxx women (M)

Я хочу этот вывод:

['L', 'A', 'A', 'T', 'M']

Я пытался:

re.findall(r'[A-Z]',"this L iS A String 'A' -T- xxAxx women's (M)")

но это приводит к:

['L', 'S', 'A', 'S', 'A', 'T', 'A', 'M']

1 Ответ

3 голосов
/ 31 марта 2019

Вам необходимо использовать границы слов \b[A-Z]\b, чтобы соответствовать только одиночным заглавным буквам.

код Python,

import re

print(re.findall(r'\b[A-Z]\b',"this L iS A String 'A' -T- xxAxx women's (M)"))

Печать ожидаемого результата,

['L', 'A', 'A', 'T', 'M']

Если вы хотите, чтобы оно совпадало с одной или несколькими заглавными буквами, используйте \b[A-Z]+\b

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...