1

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

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

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

4

2 回答 2

5

你没有撇号问题,你有一个感叹号问题。感叹号既不是单词 ( \w) 也不是空格 ( \s) 也不是撇号。!所以如果你想允许的话,你应该添加到你的角色类中。

于 2012-08-29T16:25:02.143 回答
2

你不能用一个简单的.,例如,逃脱'<(.+)>'吗?

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

于 2012-08-29T16:24:54.357 回答