获取re.search python的匹配值

时间:2016-09-19 21:37:26

标签: string python-3.x jupyter

我正在使用Jupyter笔记本中的python从网上提取一些数据。我已经下载了数据,解析并创建了数据框。我需要从数据框中的字符串中提取一个数字。我利用这个正则表达式来做到这一点:

for note in df["person_notes"]:
    print(re.search(r'\d+', note))

结果如下:

<_sre.SRE_Match object; span=(53, 55), match='89'>

我怎样才能获得匹配号码;在这一行中将是89.我尝试将整行转换为str()replace(),但并非所有行都有span=(number, number) iqual。提前谢谢!

1 个答案:

答案 0 :(得分:3)

您可以在返回的匹配对象上使用start()end()方法来获取字符串中的正确位置:

for note in df["person_notes"]:
    match = re.search(r'\d+', note)
    if match:
        print(note[match.start():match.end()])
    else:
        # no match found ...