python程序中想使用正则表达式_如何在python中使用正则表达式提取每行中需要的信息...

展开全部

>>> s='''21899   6% S    15 173928K  38024K  fg app_108  com.tencent.qq

21899  34% S    14 191436K  50888K  fg app_108  com.tencent.qq

21899  49% S    14 183928K  41584K  fg app_108  com.tencent.qq

21899  28% S    15 176984K  40240K  fg app_108  com.tencent.qq

21899   6% S    15 177004K  40448K  fg app_108  com.tencent.qq

21899   6% S    14 176048K  40564K  fg app_108  com.tencent.qq

21899  10% S    14 176196K  40472K  fg app_108  com.tencent.qq

21899   9% S    14 176232K  40712K  fg app_108  com.tencent.qq

21899  12% S    14 176288K  40820K  fg app_108  com.tencent.qq

21899  10% S    14 176288K  40820K  fg app_108  com.tencent.qq

21899  12% S    16 179376K  40904K  fg app_108  com.tencent.qq'''

>>> open('a.txt','w').write(s)

>>> f=open('a.txt')

>>> f.read()

'21899   6% S    15 173928K  38024K  fg app_108  com.tencent.qq\n21899  34% S    14 191436K  50888K  fg app_108  com.tencent.qq\n21899  49% S    14 183928K  41584K  fg app_108  com.tencent.qq\n21899  28% S    15 176984K  40240K  fg app_108  com.tencent.qq\n21899   6% S    15 177004K  40448K  fg app_108  com.tencent.qq\n21899   6% S    14 176048K  40564K  fg app_108  com.tencent.qq\n21899  10% S    14 176196K  40472K  fg app_108  com.tencent.qq\n21899   9% S    14 176232K  40712K  fg app_108  com.tencent.qq\n21899  12% S    14 176288K  40820K  fg app_108  com.tencent.qq\n21899  10% S    14 176288K  40820K  fg app_108  com.tencent.qq\n21899  12% S    16 179376K  40904K  fg app_108  com.tencent.qq'

>>> pprint.pprint(map(lambda x:re.findall('\d+? +?(\d+%) +?S +?\d+? +?(\d+K) +?(\d+K)',x),s.split('\n')))

[[('6%', '173928K', '38024K')],

[('34%', '191436K', '50888K')],

[('49%', '183928K', '41584K')],

[('28%', '176984K', '40240K')],

[('6%', '177004K', '40448K')],

[('6%', '176048K', '40564K')],

[('10%', '176196K', '40472K')],

[('9%', '176232K', '40712K')],

[('12%', '176288K', '40820K')],

[('10%', '176288K', '40820K')],

[('12%', '179376K', '40904K')]]

>>> pprint.pprint(map(lambda x:re.findall('\d+? +?(\d+%) +?S +?\d+? +?(\d+K) +?(\d+K)',x),open('a.txt').read().split('\n')))

[[('6%', '173928K', '38024K')],

[('34%', '191436K', '50888K')],

[('49%', '183928K', '41584K')],

[('28%', '176984K', '40240K')],

[('6%', '177004K', '40448K')],

[('6%', '176048K', '40564K')],

[('10%', '176196K', '40472K')],

[('9%', '176232K', '40712K')],

[('12%', '176288K', '40820K')],

[('10%', '176288K', '40820K')],

[('12%', '179376K', '40904K')]]

>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值