2014年以来,我国啤酒行业年产量就进入了下滑通道,2019年全国规模以上啤酒企业累计销量3765.3万千吨生,较2018年的3812.2万千升下降1.23%(数据来源:国家统计局),但降。12736iuq34yi3g
很奇怪,我想要取出来句子中,前半部分带有“生产”或者“产量”或者“销量”后半部分有“吨”或者“升”的串。文本就是前面的文本。
第一个正则pattern=re.compile(".*(生产|产量|销量).*[升吨].*") pattern.findall(text) 但是findall却给我取出来这个结果,单单两个字,我人都懵了啦。我后面不是写了[升吨]了吗,怎么给我整没了?['销量'] 第二个正则pattern=re.compile(".*((生产)|(产量)|(销量)).*[升吨].*") pattern.findall(text) 这结果更离谱……我怕不是学了个假的正则表达……[('销量', '', '', '销量')]当然除了findall,还有match和search(iter那个不讨论了)。 直接match,是可以match到的。
pattern=re.compile(".*(生产|产量|销量).*[升吨].*") pattern.match(text).group() '2014年以来,我国啤酒行业年产量就进入了下滑通道,2019年全国规模以上啤酒企业累计销量3765.3万千吨生,较2018年的3812.2万千升下降1.23%(数据来源:国家统计局),但降。12736iuq34yi3g'直接search,也是可以search到的。
pattern.search(text).group() '2014年以来,我国啤酒行业年产量就进入了下滑通道,2019年全国规模以上啤酒企业累计销量3765.3万千吨生,较2018年的3812.2万千升下降1.23%(数据来源:国家统计局),但降。12736iuq34yi3g'但局限就在于,他们只能匹配一个。而我是 我全都要啊。 有个办法,就是按句号分割每段话,出来句子列表然后按句匹配。但是看上去挺麻烦,