Regex: Как сопоставить заглавные слова, содержащие специальный символ - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь собрать шаблон регулярных выражений в python, который бы соответствовал словам, начинающимся с заглавной буквы, но также содержал в себе апостроф

такие слова, как: Она , Альберта и Не

, но исключаю других, таких как "Она"

Пока мне удалось сопоставить только прописные слова в тексте, используя:

match = r'(\b[A-Z].*?\b)'
output = re.findall(match, text)
print(output)

спасибо:)

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Ваше регулярное выражение будет

regex_pattern = r"[A-Z]\w*?'\w*" 
# Ensure that you use double quotes for the raw string, not single quotes, otherwise the apostrophe will not match.

. Для сопоставления объектов вы можете использовать re.findall () или re.match (). Group (), если необходимо.

re.findall(regex_pattern,"She's she she's")
["She's"]
0 голосов
/ 30 апреля 2020

Попробуйте с этим регулярным выражением: \b[A-Z][a-zA-Z]*'[a-zA-Z]+\b

Код:

print(re.findall(r"\b[A-Z][a-zA-Z]*'[a-zA-Z]+", text))
...