Python正则表达式
2016-06-09 21:06
429 查看
1.常用符号
.的用法
*的用法
?的用法
.*的用法
()的用法
re.S的用法
search用法
sub用法
匹配数字
. | 匹配任意字符 |
* | 匹配前一个字符0次或无限次 |
? | 匹配前一个字符0次或1次 |
.* | 贪心算法 |
.*? | 非贪心算法 |
() | 括号内的数据作为结果返回 |
import re a = 'xy123' b = re.findall('x.',a) print b#['xy']
*的用法
import re a = 'xy123' b = re.findall('x*',a) print b#['x', '', '', '', '', '']
?的用法
import re a = 'xy123' b = re.findall('x.*?',a) print b#['x']
.*的用法
import re a = 'xy123xy456xy789xy987xy654xy321' print re.findall('xy.*xy', a) #['xy123xy456xy789xy987xy654xy'] print re.findall('xy.*?xy', a) #['xy123xy', 'xy789xy', 'xy654xy']
()的用法
import re a = 'xy123xy456xy789xy987xy654xy321' print re.findall('xy.*?xy', a)#['xy123xy', 'xy789xy', 'xy654xy'] print re.findall('xy(.*?)xy', a)#['123', '789', '654']
re.S的用法
import re a = '''xy123' xy456xy789xy987xy654xy321''' print re.findall('xy.*?xy', a)#['xy456xy', 'xy987xy'] print re.findall('xy(.*?)xy', a)#['456', '987'] print re.findall('xy.*?xy', a, re.S)#["xy123'\n xy", 'xy789xy', 'xy654xy'] print re.findall('xy(.*?)xy', a, re.S)#["123'\n ", '789', '654']
search用法
import re a = 'xy123xy456xy789xy987' print re.search('xy(.*?)xy456xy(.*?)xy', a).group()#xy123xy456xy789xy print re.search('xy(.*?)xy456xy(.*?)xy', a).group(1)#123 print re.search('xy(.*?)xy456xy(.*?)xy', a).group(2)#789 print re.findall('xy(.*?)xy456xy(.*?)xy', a)[0][0]#123
sub用法
import re a = 'xy123xy' print re.sub('xy(.*?)xy','XY%dXY'%321, a)#XY321XY
匹配数字
import re a = 'xy123xy' print re.findall('(\d+)', a)#['123']
相关文章推荐
- Flask--阿里云上部署
- Python_Day_5装饰器、字符串格式化、序列化、内置模块、生成器、迭代器之篇
- 七牛 python
- Python基础之生成器、迭代器
- python 两个list 求交集,并集,差集
- 64位win7下安装Boost 1.59.0 + boost.python 1.59.0 + gccxml + pygccxml + pyplusplus(py++)
- Python 标准库
- Python面向对象
- Python学习
- 如何在mac终端上使用python3.5
- Python 循环语句
- python的GUI编程--wxpython学习(二)--基本控件和事件
- leetcode Combination Sum III-回溯|递归
- Python异常处理
- 浅析Python中的for 循环
- Python:打印目录下最大的十个文件
- Python基础(九) 内置模块
- Python 条件语句
- Python的I/O操作
- Python 字典KeyError