匹配包含撇号的字符串的问题

时间:2012-08-29 16:22:18

标签: python regex

我想在一些括号中匹配一个字符串。我的字符串可能有一些撇号。我使用以下模式进行匹配,但这不是拾取字符串,我不明白为什么 - 任何想法?

pattern = re.compile('<([\w\s\']+)>', re.IGNORECASE)

例如,<Let's rock!>会产生Let's rock!

2 个答案:

答案 0 :(得分:5)

你没有撇号问题,你有一个感叹号问题。感叹号既不是单词(\w)也不是空格(\s),也不是撇号。因此,如果要允许,请将!添加到角色类中。

答案 1 :(得分:2)

你能不能使用简单的.,例如'<(.+)>'

此外,如果您需要在单个引号中嵌入单引号(例如"<([\w\s']+)>"),通常会更容易使用单引号。