使用python和regex从文本中提取

时间:2016-11-19 20:19:08

标签: python regex python-3.x extract

假设我们有一些文本,其中一些引号存储在表单中:

用户:报价

我们可以在文本中包含多个引号。

Agatha Drake: She records her videos from the future? What is she, a
  f**ing time lord? Is she Michael J. Fox?

Harvey Spencer: This is just like that one movie where that one guy
  changed one tiny, little thing in his childhood to stop the girl of
  his dreams from being a crackhead in the future!

如何从python中的文本中提取引号(她从......录制她的视频,这就像那部电影......)

我试过

re.findall('\S\:\s?(.*)', text)

但它没有完成这项工作。

https://regex101.com/r/vH63Go/1

我怎样才能用Python做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您的字符串在一行的开头跟随用户的一致格式,并且双引号结束一个引号,您可以使用:

(?m)^[^:\n]+:\s?((?:.+\n?)*)

它使用多行模式并匹配行的开头,后跟既不是:也不是新行的字符,而是:。然后捕获包含内容的所有后续行。

这是regex101上的演示。