我正在尝试解析各种看起来像这样的字符串
cpd00015_c + cpd00041_c + cpd00095_c-> 2.0 cpd00001_c + cpd00009_c + cpd00067_c
现在,我有找到第一个实例的代码,但是我想找到这些实例的所有实例。
try:
found = re.search('cpd(.+?)_c', reactionEquation).group(1)
print(found)
except AttributeError:
# AAA, ZZZ not found in the original string
pass # apply your error handling
re.search函数仅查找此对象的第一个实例。是否有针对您不完全知道其名称的多个字符串的研究?
答案 0 :(得分:0)
要获取所有匹配项,请使用re.findall
例如:
import re
s = "cpd00015_c + cpd00041_c + cpd00095_c --> 2.0 cpd00001_c + cpd00009_c + cpd00067_c"
print( re.findall("cpd(.+?)_c", s) )
输出:
['00015', '00041', '00095', '00001', '00009', '00067']
答案 1 :(得分:0)
只需将search
更新为find all
并删除组即可。
import re
try:
found_all = re.findall('cpd(.+?)_c', reactionEquation)
for found in found_all :
print(found)
except AttributeError:
# AAA, ZZZ not found in the original string
pass # apply your error handling