【发布时间】:2018-03-06 00:25:11
【问题描述】:
我有一个这样的字符串列表data = ['This is the sentence "Hello" by writer "MK"', '2 Worlds [Harry]']
我只想提取"Hello,这就是我所做的:
import re
s = re.match('This is the sentence (.*) by writer', data[0])
s
但我得到的不是"Hello,而是<_sre.SRE_Match object; span=(0, 38), match='This is the sentence "Hello" by writer'>
谁能告诉我怎么写正确?
【问题讨论】:
-
您是否正在尝试实现这样的目标? eval.in/867424
-
当您打印
s时,它会打印正则表达式 Match 对象 - 就像您编写一个函数,然后打印该函数的名称而不调用它,您将获得字符串表示形式对于该对象,不是函数将返回的内容。如果你想访问你用(.*)表示的组,你必须明确地访问:print(s.group(1)) -
您标记的解决方案在正则表达式方面不是最理想的。如果您想改进您的正则表达式,请参阅:stackoverflow.com/a/46398384/4909087