1.通配符
(.)匹配除换行符外所有的字符
2.特殊字符的转义\
例如:".com"此时会匹配acom,bcom.....
此时应该表达为:"\.com"
(双斜线和单斜线 通过解释器通过re模块需要双斜线)
3.字符集
^为反字符
'[^abc]'即匹配不含abc的字符
[a-zA-Z0-9]即能匹配a-z A-Z 0-9范围内的字符
4.选择符和子模式
管道符号|: 可以匹配多种字符
5.可选项和重复选项
r转义特殊字符
r'(http://)?(www\.)?python\.org'
http:// www.都是可选项
所以该正则表达式可以匹配:
http://www.python.com
www.python.com
python.com
http://python.com
(pattern*) 允许模式重复0次或多次
(pattern+) 允许模式重复1次或多次
(pattern){m,n} 允许模式重复m~n次
若果只想在字符串开口进行匹配则在开头加上^如'^ht*p'就可以匹配'http','htp','htttp'......
若只想在字符串末尾进行匹配则在末尾用$进行标识
在python中使用re模块对正则表达式进行处理
re模块中的一些重要函数:
compile(pattern[,flags]) 根据包含正则表达式的字符串创建模式对象
search(pattern,string[,flag]) 在字符串中寻找模式
match(pattern,string[,flags]) 在字符串的开始处匹配
split(pattern,string[,maxsplit=0]) 根据模式匹配项分割字符串
findall(pattern,string) 列出字符串中模式所有匹配项
sub(pat,repl,string[,count=0]) 将字符串中的pat匹配项用repl替换
escape(string) 将字符串中所有正则表达式进行转义
re模块中匹配对象的重要方法
group(group1,...) 获取给定子模式(组)的匹配项
start([group]) 返回给定项的开始位置
end([group]) 返回给定组的匹配项结束位置
span([group]) 返回一个组的开始和结束位置