python学习笔记(24)正则表达式


作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

原链:http://www.cnblogs.com/vamei/archive/2012/08/31/2661870.html

笔记:一半的笔记,半吊子水平

#第25讲 re正则

#语法:
#re.match(pattern, string, flags=0)
#两个参数,pattern 匹配的正则表达式   str 需要正则匹配字符串  flag 大小写多行匹配


import re
m = re.search('[0-9]','fdaf6dfae')
print (m.group(0))
print (m.group())

#返回就是匹配到的数字 

'''
关于group
在我们上面的匹配中没有引入group,整个表达式就是一个组,group()同group(0),所以输出是一致的
所以print 那里用了m.group(0) 

'''
a = '13abc456'
print (re.search('([0-9]*)([a-z]*)([0-9]*)',a).group(0))
#返回group(0) 132abc456

print (re.search('([0-9]*)([a-z]*)([0-9]*)',a).group(1))
#返回group(1) 第一个括号匹配部分

print (re.search('([0-9]*)([a-z]*)([0-9]*)',a).group(2))
#返回group(2) 第二个括号匹配部分

print (re.search('([0-9])*([a-z])*([0-9]*)',a).group(3))
#返回group(3) 第三个括号匹配部分

'''
1. 正则表达式中的三组括号把匹配结果分成三组

     group() 同group(0)就是匹配正则表达式整体结果
     group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。

2. 没有匹配成功的,re.search()返回None

3. 当然郑则表达式中没有括号,group(1)肯定不对了
   就会报错,indexerror,no such group 没有这个group
'''


#正则表达式的函数
#m = re.search(pattern,str)#搜索整个字符串,直到发现符合的字符串
#m = re.match(pattern,str)#从头检查str是否符合正则表达式,必须从第一个字符就相符


m = re.search('[0-9]','fdaf6dfae')
#这个如果用match函数匹配,返回是None
#字符串是f开头的,不符合'([0-9])'的要求


#正则匹配的字符进行替换
#str = re.sub(pattern, replacement, str)

a = re.sub('([0-9])','6','adf3dsf')
print (a)

#输出后3就被替换成了6

#正则匹配的字符进行切片
a = re.split('([0-9])','faffd3fdf')
print (a)

#输出后整个str被切片成3片,前半部分字符,数字,后半部分字符,放在list返回


#正则匹配搜索字符串
a = re.findall('a','fdsagr')
print (a)

#输出就是把符合的字符串放在list返回


#作者最后附注了re.compile,让去了解
#找到了资料,看不懂

#编译正则表达式模式,返回一个对象的模式。(可以把那些常用的正则表达式编译成正则表达式对象,这样可以提高一点效率。)
#语法:re.compile(pattern,flags=0)
import re
tt = "Tina is a good girl, she is cool, clever, and so on..."
rr = re.compile(r'\w*oo\w*')
print(rr.findall(tt))   #查找所有包含'oo'的单词

#\w   匹配单词    * 匹配一个字符0或无限次(重复>=0次)
#r  是防止转义   保留原有的样式

优质内容筛选与推荐>>
1、Python 变量作用域 LEGB (上)—— Local,Global,Builtin
2、hdu 3068(最长回文)
3、loadrunner中文件的操作
4、Fonemonkey录制回放android应用程序界面交互操作---fonemonkey for android自动化初探
5、linux网络操作 配置文件


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号