加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

python中使用正则表达式将所有符合条件的字段全部提取出来

发布时间:2020-10-25 01:40:29 所属栏目:运营 来源:网络整理
导读:副标题#e# 短视频,自媒体,达人种草一站服务 这篇文章主要介绍了python中使用正则表达式将所有符合条件的字段全部提取出来,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 问题如标题,使用正则表达式匹配字

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 正则表达式提取字段内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读