python正表达式学习(一)

  1. python正则表达式有着无与伦比的强大的公,可以对文本内容进行解析处理。
  2. 第一个函数compile函数,可以把字符串编译成正则实例,便于后面重复调用,使用方式为re.compile(str,flag),常用的flag为re.M,re.I多行匹配和忽略大小写。
  3. 如下的函数,我们在定义了字符串之后,通过compile函数处理之后,这个strpatter可以在任何地方进行匹配操作,完成我们想要的处理。
  4. str1=“node\s+(?P\S+)\s+ip\s+(?P\d+.\d+.\d+.\d+)/(?P\d+)\s+(?P\S+)”
    strpatter=re.compile(str1)
    (?P\S+)这种形式可以为一个正则表达式定义一个别名,便于代码阅读和理解。使用的时候也很方便。

str2=“node R1 ip 3.2.1.1/24 loopback”
p=strpatter.match(str2)
print p.group(“Mask”)
print p.group(“nodename”)
print p.group(“ip”)

24
R1
3.2.1.1
顺利匹配到了我们想要的东西。
多行匹配的例子:
data = “”"
r24062 line1
hello word !!!
r24729 line2
revision:24181
“”"
r = re.compile("([0-9]{5,})", re.M)
str2="([0-9]{5,})"
strpatter2=re.compile(str2,re.M)
nums = strpatter2.finditer(data)
print nums.next().group()
print nums.next().group()
print nums.next().group()
运行结果:
24062
24729
24181

finditer返回符合所有正则的迭代器

删除字符串中的所有数字,
data = “”"
r24062 line1
hello word !!!
r24729 line2
revision:24181
“”"

str3="[0-9]{1,}"
strpatter3=re.compile(str3)
p=strpatter3.sub(" ",data)
print p

r line
hello word !!!
r line
revision:
sub函数替换字符串中符合正则要求的字符为" ".

str4="[0-9]{7}"
strpatter4=re.compile(str4)
strte1=“7894561,asasasa,789632541,7899455dfd7f9dsf4549946615fdsfds9466d94fdsfdsfds”
print strpatter4.findall(strte1)
findall函数返回所有符合正则的数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值