首页 > 解决方案 > 尝试将多个正则表达式转换为 int 值时引发源错误(“没有重复”)

问题描述

我正在尝试使用正则表达式解析字符串中的数字,格式如下:

"R5+2-3"

其中“R”后的数字为检测总数,“+”后的数字为阳性检测数,“-”后的数字为阴性检测数。我正在尝试将总测试数、阳性测试数和阴性测试数存储为整数值。我尝试使用以下代码:

ttl = 0
pos = 0
neg = 0
for matchttl in re.findall('R(\d+)', s):
    ttl = ttl + int(matchttl)
for matchpos in re.findall('+(\d+)', s):
    pos = pos + int(matchpos) 
for matchneg in re.findall('-(\d+)', s):
    neg = neg + int(matchneg)

每个表达式都独立工作,但是当我使用 2 个或更多表达式时,我收到以下错误:

File "C:\Users...", line 668, in _parse
  raise source.error("nothing to repeat",

我在这里做错了什么?

标签: pythonregex

解决方案


推荐阅读