正则表达式:如何匹配包含特殊字符的大写单词

时间:2020-04-30 08:08:45

标签: python regex re

我正在尝试在python中建立一个正则表达式模式,该模式将匹配以大写字母开头的单词,但其中也包含撇号

单词,例如:她是阿尔伯特没有

但排除诸如“她”之类的其他人

到目前为止,我仅设法使用以下方式匹配文本中的大写单词:

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

谢谢:)

2 个答案:

答案 0 :(得分:0)

尝试使用此正则表达式:\b[A-Z][a-zA-Z]*'[a-zA-Z]+\b

代码:

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

答案 1 :(得分:0)

您的正则表达式将

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"]