如何用正则从字符串中提取占比超90%的主体名称及对应百分比

代码调整方案
原代码问题
你使用的正则\S+[9]\S+仅匹配包含9的连续非空白字符,而主体名称包含空格,不属于非空白字符范围,因此只能捕获到括号内的百分比片段,无法匹配到完整的主体+百分比条目。
修正后代码
import re S = 'MOL MAGYAR OLAJ-ES GAZIPARI RT (95%); MERRILL LYNCH & CO INC (91%); CITIGROUP INC (83%);' # 正则匹配规则:匹配分号分隔的完整条目,要求括号内百分比为91%-99% # 如需包含90%的条目,将正则中的9[1-9]修改为9\d即可 match_lst = re.findall(r'[^;]+?\(9[1-9]%\);', S) # 拼接符合要求的条目为目标字符串 res = ' '.join(match_lst) print(res)
输出结果
MOL MAGYAR OLAJ-ES GAZIPARI RT (95%); MERRILL LYNCH & CO INC (91%);
内容的提问来源于stack exchange,提问作者Achillies
相关产品推荐
相关产品推荐

