我正在尝试从一个字符串中提取多个组,并将其保存以备以后使用,以便我可以将它们组合在一起。
基本上我想从这里开始:
frac{2+2}{9}
to this
(2+2)/(9)
我正在尝试使用正则表达式(re)完成此操作,但似乎无法使用(?P ...)将文本中的多个组保存到变量中,其中将字符串的这一部分保存到变量X中。可以正常工作,但是当我尝试使用(?P ...)和(?P ...)保存多个组时,它只返回一个。
python中是否可以使用正则表达式从字符串中捕获多个组,然后将其存储到变量中,然后再使用它们?
现在我的代码看起来像这样
stringtotest = 'frac{2+2}{9}*29+frac{2+3}{10}*29'
import re
a = re.search('frac{(.+?)}', stringtotest).group(1)
print(a)
b = re.search('backslashfrac{(?:...)}{(.+?)}', stringtotest).group(1)
print(b)
这很好用,但是我想通过做这样的事情来更有效地做到这一点。
string = 'frac{2+2}{9}*29+frac{2+3}{10}*29'
import re
both = re.search('frac{(?P<a>...)}{(?P<b>...)}', string)
print(both.groups(1))
但这会返回并出错。
'NoneType' object has no attribute 'groups'
感谢您的时间!