python正则表达式

         正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。很多编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。

        它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。

Python通过re模块提供对正则表达式的支持。 

示例1

#coding=utf-8  

#导入re模块  

import re   

# 将正则表达式编译成Pattern对象,注意hello前面的r的意思是原生字符串”  

pattern = re.compile(r'hello')     

# 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None  

match1 = pattern.match('hello world!')  

match2 = pattern.match('helloo world!')  

match3 = pattern.match('helllo world!')    

#如果match1匹配成功  

if match1:  

    # 使用Match获得分组信息  

    print match1.group()  

else:  

    print 'match1匹配失败!'    

#如果match2匹配成功  

if match2:  

    # 使用Match获得分组信息  

    print match2.group()  

else:  

    print 'match2匹配失败!'    

#如果match3匹配成功  

if match3:  

    # 使用Match获得分组信息  

    print match3.group()  

else:  

    print 'match3匹配失败!'  

输出如下:

hello

hello

match3匹配失败!

SPLIT函数

#coding=utf-8

import re  

   

p = re.compile(r'\d+')  

print p.split('one1two2three3four4')  







re.compile(strPattern[, flag])

这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象。

第二个参数flag是匹配模式,取值可以使用按位或运算符'|'表示同时生效,比如re.I | re.M

另外,你也可以在regex字符串中指定模式,

比如re.compile('pattern', re.I | re.M)re.compile('(?im)pattern')是等价的。

可选值有:

    re.I(全拼:IGNORECASE): 忽略大小写(括号内是完整写法)

    re.M(全拼:MULTILINE): 多行模式,改变'^''$'的行为

    re.S(全拼:DOTALL): 点任意匹配模式,改变'.'的行为

    re.L(全拼:LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定

    re.U(全拼:UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性

    re.X(全拼:VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。

    re模块还提供了一个方法escape(string),用于将string中的正则表达式元字符如*/+/?等之前加上转义符再返回
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值