我想在一些括号中匹配一个字符串。我的字符串可能有一些撇号。我使用以下模式进行匹配,但这不是拾取字符串,我不明白为什么 - 任何想法?
pattern = re.compile('<([\w\s\']+)>', re.IGNORECASE)
例如,<Let's rock!>
会产生Let's rock!
答案 0 :(得分:5)
你没有撇号问题,你有一个感叹号问题。感叹号既不是单词(\w
)也不是空格(\s
),也不是撇号。因此,如果要允许,请将!
添加到角色类中。
答案 1 :(得分:2)
你能不能使用简单的.
,例如'<(.+)>'
?
此外,如果您需要在单个引号中嵌入单引号(例如"<([\w\s']+)>"
),通常会更容易使用单引号。