正则表达式简单总结
2015-05-21 16:04
155 查看
1 几种简单的正则:
. 匹配任意字符(换行符除外)
* 匹配前一个字符0次或者无限次
?匹配前一个字符0次或1次
.*贪婪算法
.*?非贪婪算法
() 将括号的内容返回
2. 重用方法:
findall 匹配所有满足规律的内容,并返回一个列表
seach 匹配并提取第一个符合规律的内容并返回一个正则表达式的对象
sub 替换符合规律的内容,并返回替换后的值
简单的练习代码:
1 import re
2 # .
3 string = 'aawaafgfdaashiaavcvcvaatianaavcvcvcaacaiaacxcx'
4 a='xy123'
5 b=re.findall('x.',a)
6 print b
7
8 # *
9 a='xyxy123'
b=re.findall('x*',a)
print b
#..............
res=re.findall('aa(.*?)aa',string)
for i in res:
print i
3. re.S
默认情况下模式串是包含换行符的,要想去掉换行符可以采用re.S
使用以下代码作比较
string = """aaw
aafgfdaashiaavcvcvaatianaavcvcvcaacaiaacxcx"""
res=re.findall('aa(.*?)aa',string)
for i in res:
print i
res=re.findall('aa(.*?)aa',string,re.S)
for i in res: print i
. 匹配任意字符(换行符除外)
* 匹配前一个字符0次或者无限次
?匹配前一个字符0次或1次
.*贪婪算法
.*?非贪婪算法
() 将括号的内容返回
2. 重用方法:
findall 匹配所有满足规律的内容,并返回一个列表
seach 匹配并提取第一个符合规律的内容并返回一个正则表达式的对象
sub 替换符合规律的内容,并返回替换后的值
简单的练习代码:
1 import re
2 # .
3 string = 'aawaafgfdaashiaavcvcvaatianaavcvcvcaacaiaacxcx'
4 a='xy123'
5 b=re.findall('x.',a)
6 print b
7
8 # *
9 a='xyxy123'
b=re.findall('x*',a)
print b
#..............
res=re.findall('aa(.*?)aa',string)
for i in res:
print i
3. re.S
默认情况下模式串是包含换行符的,要想去掉换行符可以采用re.S
使用以下代码作比较
string = """aaw
aafgfdaashiaavcvcvaatianaavcvcvcaacaiaacxcx"""
res=re.findall('aa(.*?)aa',string)
for i in res:
print i
res=re.findall('aa(.*?)aa',string,re.S)
for i in res: print i
相关文章推荐
- 正则表达式简单语法使用总结二
- 正则表达式简单语法总结
- 正则表达式简单总结
- 简单实用的DataSet更新数据库的类+总结(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- UITabBarController的简单使用和属性方法总结
- 2016-12-10 dfs的简单总结
- Datapump 之impdp/expdp简单使用总结
- 各种拨号接入方式简单总结
- 汉诺塔问题的简单理解和总结
- Linux第三周学习总结——构造一个简单的Linux系统MenuOS
- javaweb学习总结(二十五)——jsp简单标签开发(一)
- C++ 常量const简单总结
- Origin简单使用总结--1
- 安卓学习笔记(20)-指纹识别API的简单运用与问题总结
- Thumbnailator库(高质量缩略图)简单总结
- Makefile 简单总结
- java之简单的Callback使用总结
- linux进程通信与线程通信简单总结
- MFC总结(16) --- CString类的简单讲解