怎样用 Python 提取不在双引号的内容?
高洛峰
高洛峰 2016-11-11 13:30:04
0
2
846

例子如下:

a = 

'Peter d,, 13tsddgjlsv >>bgeghg 

"desfegeivm,x,wb.rhwrohjow" dddeuvb

"dwegjosnngweibmbe,,benbie"

hello world 
'

输出的结果如下(字符串):

'Peter d,, 13tsddgjlsv >>bgeghg

dddeuvb

hello world'


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
学霸

用非贪婪模式的正则表达式

re.sub(r'\".*?\"' ,"", s)


三叔
import re
a ='Peter d,, 13tsddgjlsv >>bgeghg \n"desfegeivm,x,wb.rhwrohjow" dddeuvb \n"dwegjosnngweibmbe,,benbie" \nhello world '
print a

print '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n'
match_list = re.findall(r'([^"]*)\".*\"([^"]*)', a)  #返回一个数组,每个数组元素由一个元组构成
print 'match_list:', match_list, '\n'
print 'result: '
for x in match_list:  #遍历match_list匹配到的结果
    for i in x:
        if i:  #如果不为空,则print
            print i.strip()

输出如下:
Peter d,, 13tsddgjlsv >>bgeghg
"desfegeivm,x,wb.rhwrohjow" dddeuvb
"dwegjosnngweibmbe,,benbie"
hello world
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

match_list: [('Peter d,, 13tsddgjlsv >>bgeghg \n', ' dddeuvb \n'), ('', ' \nhello world ')]

result:
Peter d,, 13tsddgjlsv >>bgeghg
dddeuvb
hello world


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板