Regex 通过正则表达式捕获引号中的短语

Regex 通过正则表达式捕获引号中的短语,regex,python-2.7,Regex,Python 2.7,我可能会问一个又一个的问题,但我无法找到解决问题的方法,所以请多问! 我需要通过正则表达式捕获包含在引号中的短语。这很容易,但当引用不一致时,问题就会出现,如下面的情况 'सीक्रेट सुपरस्टार'和'डॉन 2' 我尝试使用re.findall(r“['(.*?)'|'(.*?)]”,text)。但这不起作用。 我需要一个正则表达式来查找包含在不同类型引号中的短语。您可以使用 (?:(')|(‘))(.*?)(?(1)'|(?(2)’)) 看 详细信息 (?:(')|(')-匹配

我可能会问一个又一个的问题,但我无法找到解决问题的方法,所以请多问! 我需要通过正则表达式捕获包含在引号中的短语。这很容易,但当引用不一致时,问题就会出现,如下面的情况
'सीक्रेट सुपरस्टार'
'डॉन 2'
我尝试使用
re.findall(r“['(.*?)'|'(.*?)]”,text)
。但这不起作用。 我需要一个正则表达式来查找包含在不同类型引号中的短语。

您可以使用

(?:(')|(‘))(.*?)(?(1)'|(?(2)’))

详细信息

  • (?:(')|(')
    -匹配并捕获
    (将其放入组1)或匹配并捕获
    (将其放入组2)
  • (.*)
    -匹配除换行符以外的任何0+字符,尽可能少
  • (?(1)
    -如果组1匹配,则匹配
  • |
    -其他
  • (?(2)
    -如果组2匹配,则匹配
  • -条件构造结束
见下文:

输出:

सीक्रेट सुपरस्टार
 डॉन 2 

删除空格和
[
]
。此答案可能会帮助您感谢您的回答。但我需要添加更多的条件来检查“中包含的文本”之类的短语सुपरस्टार " 或者其他类型的引号。使用上述解决方案,我只能捕获2个条件。是否有方法包含多个条件?是的,只需在第一个
(?:…)中添加更多捕获组
分组作为备选方案,在结尾处向条件构造添加更多检查。您还可以尝试另一种匹配字符串的方法,如
[“”“]”(.*?[“”)
。请参阅。甚至。检查这些正则表达式。
सीक्रेट सुपरस्टार
 डॉन 2