如何匹配python正则表达式中的双引号?

时间:2015-08-20 17:33:44

标签: python regex

我使用此语句result=re.match(r"\[.+\]",sentence)来匹配sentence="[balabala]"。但我总是None。为什么?我尝试了很多次,在线正则表达式测试表明它有效。

2 个答案:

答案 0 :(得分:3)

  1. 正则表达式中的那些双引号分隔字符串而不是正则表达式的一部分。如果您希望它们成为实际表达式的一部分,则需要添加更多内容,并使用反斜杠(r"\"\[.+\]\"")对其进行转义。或者,将字符串用单引号括起来(r'"\[.+\]"')。
  2. 如果在字符串的开头处找到表达式,则
  3. re.match()仅生成匹配项。因为,在您的示例中,字符串开头有双引号字符,而正则表达式不包含双引号,因此不会产生匹配。请改为re.search()re.findall()

答案 1 :(得分:0)

Regx

["][\w\s]+["]

这将匹配双引号中包含的所有单词,例如"asd"

s='hello dear "Akhil", how are you?'
print(re.findall(r'["][\w\s]+["]',s)

这将以列表类型返回"Akhil"