import re
string="上市以来,向上市公司股东共募集资金 3.36 亿元"
fi1=re.search("募集资金(\s*\d*\.\d*\s*)亿元",string).group(1)
print(fi1)
fi2=re.search("募资共(\s*\d*\.\d*\s*)亿元" or "募集资金(\s*\d*\.\d*\s*)亿元",string).group(1)
print(fi2)
fi3=re.search(r"募资共(\s*\d*\.\d*\s*)亿元|募集资金(\s*\d*\.\d*\s*)亿元",string).group(1)
print(fi3)fi1可以从字符串中得到3.36,为什么fi2和fi3什么都不能得到?如何在两个字符串之间表达一个正则表达式?
发布于 2014-04-08 08:34:50
您可以重新制定第三种方法。
fi3=re.search(r"(?:募资共|募集资金)(\s*\d*\.\d*\s*)亿元",string).group(1)(?:募资共|募集资金)是一个非捕获群,所以您的结果总是在group(1)中。
https://stackoverflow.com/questions/22931539
复制相似问题