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
冯修星索: 那是因为正则表达式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+ 代表匹配无限多个数字.