Python正则表达式,re模块
2016-03-15 19:40
555 查看
1.re.split 会根据模式的匹配项来分割字符串
[, ]代表了逗号或空格,如果以这个作为分割的话,实验如下:
import re
我发现,当用了[, ]这个时,它的确可以根据空格【或】逗号来进行分割,但是,当遇到多个空格和逗号连续出现的时候,就不行了。
因此,方法是在[, ]后面加一个+加号。代表重复1-无限次。
这样,便成功了。
2.re. findall以列表【list】形式返回给定模式的所有匹配项
比如,要在字符串中查找所有单词,可以像下面这么做:
效果如图所示,找到了所有字母结合的字
3.re.sub的作用在于:使用给定的替换内容将匹配模式的子符串(最左端并且重叠子字符串)替换掉。
re.escape 函数,可以对字符串中所有可能被解释为正则运算符的字符进行转义的应用函数
如果字符串很长且包含很多特殊字符,而你又不想输入一大堆反斜线,可以使用这个函数:
匹配对象和组
简单来说,组就是放置在圆括号里内的子模块,组的序号取决于它左侧的括号数。组0就是整个模块,所以在下面的模式中:
‘There (was a (wee) (cooper)) who (lived in Fyfe)’
包含组有:
0 There was a wee cooper who lived in Fyfe
1 was a wee cooper
2 wee
3 cooper
4 lived in Fyfe
re 匹配对象的重要方法
下面看实例:
group方法返回模式中与给定组匹配的字符串,如果没有组号,默认为0 ;如上面:m.group()==m.group(0) ;如果给定一个组号,会返回单个字符串。
start 方法返回给定组匹配项的开始索引,
end方法返回给定组匹配项的结束索引加1;
span以元组(start,end)的形式返回给组的开始和结束位置的索引。
----------------------------
[, ]代表了逗号或空格,如果以这个作为分割的话,实验如下:
import re
我发现,当用了[, ]这个时,它的确可以根据空格【或】逗号来进行分割,但是,当遇到多个空格和逗号连续出现的时候,就不行了。
因此,方法是在[, ]后面加一个+加号。代表重复1-无限次。
这样,便成功了。
2.re. findall以列表【list】形式返回给定模式的所有匹配项
比如,要在字符串中查找所有单词,可以像下面这么做:
>>> import re >>> pat = '[a-zA-Z]+' >>> text = '"Hm...err -- are you sure?" he said, sounding insecure.' >>> re.findall(pat,text) ['Hm', 'err', 'are', 'you', 'sure', 'he', 'said', 'sounding', 'insecure']
效果如图所示,找到了所有字母结合的字
3.re.sub的作用在于:使用给定的替换内容将匹配模式的子符串(最左端并且重叠子字符串)替换掉。
>>> import re >>> pat = '{name}' >>> text = 'Dear {name}...' >>> re.sub(pat, 'Mr. Gumby',text) 'Dear Mr. Gumby...'
re.escape 函数,可以对字符串中所有可能被解释为正则运算符的字符进行转义的应用函数
如果字符串很长且包含很多特殊字符,而你又不想输入一大堆反斜线,可以使用这个函数:
>>> re.escape('www.python.org') 'www\\.python\\.org' >>> re.escape('but where is the ambiguity?') 'but\\ where\\ is\\ the\\ ambiguity\\?'
匹配对象和组
简单来说,组就是放置在圆括号里内的子模块,组的序号取决于它左侧的括号数。组0就是整个模块,所以在下面的模式中:
‘There (was a (wee) (cooper)) who (lived in Fyfe)’
包含组有:
0 There was a wee cooper who lived in Fyfe
1 was a wee cooper
2 wee
3 cooper
4 lived in Fyfe
re 匹配对象的重要方法
下面看实例:
>>> import re >>> m = re.match(r'www\.(.*)\..{3}','www.python.org') >>> m.group() 'www.python.org' >>> m.group(0) 'www.python.org' >>> m.group(1) 'python' >>> m.start(1) 4 >>> m.end(1) 10 >>> m.span(1) (4, 10)
group方法返回模式中与给定组匹配的字符串,如果没有组号,默认为0 ;如上面:m.group()==m.group(0) ;如果给定一个组号,会返回单个字符串。
start 方法返回给定组匹配项的开始索引,
end方法返回给定组匹配项的结束索引加1;
span以元组(start,end)的形式返回给组的开始和结束位置的索引。
----------------------------
相关文章推荐
- OpenGL with PyOpenGL Python and PyGame p.4-Moving the player automatically towards the cube
- Python——编写函数装饰器
- python execfile()和locals()函数
- Python变量和对象类型速记手册
- The python debugger调试(PDB)的简介
- python 文件和路径操作函数小结
- Python脚本图解
- python入门导引
- Python图像处理库PIL -- 学习资源
- 机器学习:逻辑回归python实现
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
- Python正则表达式集锦
- python中文分词:结巴分词
- Python图表绘制:matplotlib绘图库入门
- 如何用python 写 adb 命令脚本
- OpenGL with PyOpenGL Python and PyGame p.3 - Movement and Navigation
- C#中调用python方法
- python 容器的使用
- 一个简单的抓取中国城市空气质量的python包chinaAQI
- MySQLdb python