您的位置:首页 > 编程语言 > Python开发

Python中使用正则表达式

2013-07-30 19:49 453 查看

Python中使用正则表达式

标签:
Python编程正则表达式字符串

2013-07-30 19:49
23776人阅读 评论(1)
收藏
举报

本文章已收录于:


分类:
Python(13)




作者同类文章X

版权声明:本文为博主原创文章,未经博主允许不得转载。

本文通过示例来描述如何在Python中使用正则表达式来统计文本中的所有数字。

示例中的文本来自命令行的管道数据,

[python]
view plain
copy
print?

sys.stdin.readlines()  



sys.stdin.readlines()


主要是因为作者需要在命令行的输出信息中做数字统计。

示例代码1,列出根目录下所有文件或文件夹的名称字符串中包含的数字

[python]
view plain
copy
print?

import re  
for name in sys.stdin.readlines():  
  items = re.findall("\d+", name)  
  if(len(items)>0):  
    print items  



import re
for name in sys.stdin.readlines():
items = re.findall("\d+", name)
if(len(items)>0):
print items

执行命令:

$ ls /

bin  boot  cdrom  dev  etc  home  initrd.img  initrd.img.old  lib  lib32  lib64  libx32  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old

$ ls / | python test.py

输出结果:

['32']

['64']

['32']

示例代码2:找出管道输出文本中的所有数字,并求和

[python]
view plain
copy
print?

import sys;  
import re  
  
items = []  
for name in sys.stdin.readlines():  
  nums = re.findall("\d+", name)  
  for num in nums:  
    items.append(num)  
  
if(len(items)>0):  
    print items  
  
sumNum = 0  
for num in items:  
  sumNum += int(num)  
  
print "Total:",sumNum  



import sys;
import re

items = []
for name in sys.stdin.readlines():
nums = re.findall("\d+", name)
for num in nums:
items.append(num)

if(len(items)>0):
print items

sumNum = 0
for num in items:
sumNum += int(num)

print "Total:",sumNum


正则表达式的规则如下图:





顶4踩1
 
 
上一篇Python脚本中使用命令行管道数据
下一篇用Python正则表达式搜索统计命令行管道中的所有数字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: