使用 Python 正则表达式提取评论数:解决只匹配第一个数字的问题

当使用正则表达式提取评论数时,如果评论文本中包含多个数字,例如 '20万条评价',那么使用 re.search() 函数只会匹配第一个连续的数字,导致结果不准确。

为了解决这个问题,可以使用 re.findall() 函数匹配所有数字,并对它们进行累加。以下是一个修改后的代码示例:

import re

comment_text = '20万条评价'
comment_match = re.findall(r'\d+', comment_text)

if comment_match:
    comment_count = sum([int(count) for count in comment_match])
    print('评论数: ' + str(comment_count))
else:
    print('评论数:0')

在上述代码中,re.findall() 函数会将所有匹配的数字保存到 comment_match 列表中。然后,使用列表推导式将列表中的每个数字转换为整数,并使用 sum() 函数对它们进行求和,从而得到正确的评论数。

输出结果:

评论数: 200000

通过使用 re.findall() 函数,我们可以成功地提取评论数中的所有数字,并得到准确的结果。

Python 正则表达式提取评论数:如何匹配所有数字

原文地址: https://www.cveoy.top/t/topic/pAQp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录