- 此问题在此处已有答案**:
Extract part of a regex match(11个答案)
3天前关闭。
我试图从一个句子中提取特定的值,以便将此信息添加到Pandas数据框中。文本如下所示:
“Catherine has 3 dogs: 2 are black”
Pandas数据框中的信息应该是狗的数量(3)和特定颜色的狗的数量(2)。
#_dogs black
3 2
我尝试过如下使用regex:
re.search(“Catherine has (\d+) dogs: (\d+) are black”, sentence).
但是它没有正确地提取信息,你能告诉我我做错了什么并解释一下吗?
1条答案
按热度按时间mf98qq941#
您使用的方法确实正确地提取了数字,但是
re.search
将它们作为Match对象返回。为了使用该对象,您必须获得相应的组:但是,你也可以使用
re.findall
,它返回一个元组列表,我假设给出的句子是一个例子,所以我将使用一个更通用的版本:\D
匹配任何非数字。