str = re.findall(pattern,line) ls = [',',';','.',',',';','。'] for idx, text in enumerate(str): if text[0] not in ls: str[idx-1] += text str.remove(text)
print(str)
结果为:
[',无浮肿、泡沫尿,', ',小便1-2小时1次,无尿痛、血尿。']
而如果使用re.search(),也是可以达到预期的,代码如下:
for line in lines: result = [] num = -1 while line: #pattern = re.compile(r"[,;.,;。]+[^,;.,;。]*((小便)|尿)+[^,;.,;。]*[,;.,;。]+") #str = pattern.search(line) pattern = r"[,;.,;。]+[^,;.,;。]*((小便)|尿)+[^,;.,;。]*[,;.,;。]+" str = re.search(pattern,line) if str == None: break tmp = str.group() if str.start() == 0: result[-1] += tmp[1:] else: result.append(tmp[1:]) #print(tmp) num = str.end() - 1 #print(num) line = line[num:] print(result)
结果为:
['无浮肿、泡沫尿,', '小便1-2小时1次,无尿痛、血尿。']
到此这篇关于python中使用正则表达式将所有符合条件的字段全部提取出来的文章就介绍到这了,更多相关python 正则表达式提取字段内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! (编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|