点号(.)可以匹配任何字符串(除换行符到任何单个字符),就成为通配符。
为了让特殊字符表现的想普通字符一样,需要对它进行转义,可以在它前面加上反斜线如'python\\.org'这样只会匹配'python.org'
字符集可以匹配它所包括到任意字符。如[a-z] '[a-zA-Z0-9]'.反转字符集可以在开头使用^字符如:'[^abc]'匹配除abc以外到字符。
选择项到特殊字符:管道符号(|),如:'python | perl ' 选择python或者perl中一个。
在子模式后面加上问号(?)表示它就变成可选项,它可能出现在匹配到字符串中,但不是必需到。
r'(http://)?(www\.)?python\.org' (http://)和(www\.)不是必须要出现在匹配到字符传中,\.防止点号作为通配符。
python.org
(pattern)*:允许模式重复0次或者多次
(pattern)+:允许模式重复1次或者多次
(pattern){n,m}:允许模式重复n~m次
确定子字符串位于整个字符串到开始还是结尾是很有用的。比如只想在字符串到开头而不是其他位置可以脱字符(^)标记。:'^ht+p://python.org' 匹配'htttp:python.org'.不会匹配''
re模块中一些重要函数
compile(pattern[.flags]) 包含正则表达式到字符串创建模式对象
search(pattern,string[,flags]) 字符串中寻找模式
match(pattern,string[,flags]) 在字符串到开始处匹配模式
split(pattern,string[,flags]) 根据模式到匹配项来分割字符串
findall(pattern,string) 列出字符串中所有匹配项
sub(pattern,replace,string[,count=0]) 将字符串中所有pattern到匹配项用replace替代
escape(string) 将字符串中所有特殊正则表达式字符转义。
正则表达式模式能够识别的以下特殊字符序列:
阅读(894) | 评论(1) | 转发(0) |