python 正则表达式同时提取多个字符内容

作者&投稿:龙婉 (若有异议请与网页底部的电邮联系)
python正则表达式提取多个匹配内容~

替换掉不就行咯,像这样:
re.sub(r'',' ',‘eng li aasdddeiiiiideeeeef
’)
或者:
>>> ' '.join(re.split(r'','eng li aasdddeiiiiideeeeef'))
' eng li aas ddde iiiiideeeeef '
>>>

我通常都是用比较笨的办法。
exp=re.compile('(?isu)"([^"]+)')
results=exp.findall(data)
结果都在results里面了。

那是因为正则表达式r'a(.+?)b|wz's和sd的结果在第一捕获组中,而wz在第0捕获组中,所以你要不然把wz也用小括号括起来r'a(.+?)b|(wz)'这样分别取第一和第二捕获组的数据,要不然你用r'(?<=a).+?(?=b)|wz 前向预搜索(?<=)和后向预搜索(?=)这样没有捕获组,结果都在第0捕获组中

完整的两种方法的Python程序如下

#!/usr/bin/python 

import re

text='asb,fasdbwz'

u=r'a(.+?)b|(wz)'

result = re.findall(u,text)

for i in range(0,len(result)):

 if result[i][0]=='':

  print(result[i][1])

 else:

  print(result[i][0])


运行结果
s
sd
wz

第二种方法

#!/usr/bin/python 

import re

text='asb,fasdbwz'

u=r'(?<=a).+?(?=b)|wz'

result = re.findall(u,text)

for i in range(0,len(result)):

 print(result[i])

运行结果
s
sd
wz



瓦房店市17025117282: python 正则表达式同时提取多个字符内容 -
冯修星索: 那是因为正则表达式r'a(.+?)b|wz's和sd的结果在第一捕获组中,而wz在第0捕获组中,所以你要不然把wz也用小括号括起来r'a(.+?)b|(wz)'这样分别取第一和第二捕获组的数据,要不然你用r'(?<=a).+?(?=b)|wz 前向预搜索(?<=)和后向预搜索(?...

瓦房店市17025117282: python 怎么获得符合正则表达式的多个结果 -
冯修星索: 比如 p=re.search("\d","1a2b3c").group() 是['1'], 怎么同时获得2,3??group是一个数组;试试数组的长度;

瓦房店市17025117282: python正则表达式提取多个匹配内容 -
冯修星索: 替换掉不就行咯,像这样:re.sub(r'',' ','eng li aasdddeiiiiideeeeef ') 或者:>>> ' '.join(re.split(r'','eng li aasdddeiiiiideeeeef'))' eng li aas ddde iiiiideeeeef '>>>

瓦房店市17025117282: python正则表达式能提取多个匹配内容? -
冯修星索: 替换掉就好了. re.sub(r'<[A-Z]+>',' ','<SPAN><P>eng li aas<SS>ddde<AP>iiiiideeeeef<P> ') 或者: >>> ' '.join(re.split(r'<[A-Z]+>','<SPAN><P>eng li aas<SS>ddde<AP>iiiiideeeeef<P>')) ' eng li aas ddde iiiiideeeeef ' >>>

瓦房店市17025117282: python,如何用正则表达式提取字符串中多个""之间的字符 -
冯修星索: 我通常都是用比较笨的办法. exp=re.compile('(?isu)"([^"]+)') results=exp.findall(data) 结果都在results里面了.

瓦房店市17025117282: python正则表达式怎么匹配多个数字 -
冯修星索: 1. 首先 p.search(s) 只会找第一个匹配的字符串 2. 其次 p.findall(s) 会记录匹配的组,而(19|20) 代表一个组,应该改成(?:19|20)以下代码可以满足你的要求: # -*- coding: utf-8 -*- from __future__ import print_function, division import re...

瓦房店市17025117282: python正则表达式可以提取单一和多个混合的数据么 -
冯修星索: 对于for循环中语句的一般形式,就是如下的while循环形式: 表达式1;while(表达式2) {语句 表达式3;} 注意:1) for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项, 即可以缺省,但“;”不能缺省.2) 省略了“表达式1(循环变量赋初值)”, 表示不对循环控制变量赋初值.3) 省略了“表达式2(循环条件)”, 则不做其它处理时便成为死循环.例如: for(i=1;;i++)sum=sum+i; 相当于: i=1; while(1) {sum=sum+i; i++;}

瓦房店市17025117282: python怎么根据正则表达式提取指定的内容 -
冯修星索: python 根据正则表达式提取指定的内容 正则表达式是极其强大的,利用正则表达式来提取想要的内容是很方便的事. 下面演示了在python里,通过正则表达式来提取符合要求的内容.实例代码:import re# 正则表达式是极其强大的,利用正则...

瓦房店市17025117282: Python怎么用正则表达式提取字符串中的数字和子字符串 -
冯修星索: Python用正则表达式提取字符串中的数字和子字符串 import re re.findall("\d+",字符串)

瓦房店市17025117282: 怎么用正则取出字符串中的数字部分 -
冯修星索: \d 代表匹配一个数字.\d+ 代表匹配无限多个数字.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网