本文主要就是在自己的认识的基础上翻译了部分python的官方文档。官方文档的地址是:http://docs.python.org/library/re.html
1. 正则表达式语法
'.'
在默认情况下,能够匹配除换行符之外的任意字符。
'^'
匹配字符串的开头字符,在MUTILINE模式下匹配换行符之后的字符。
'$'
匹配字符串的结尾字符,在MUTILINE模式下匹配换行符之后的字符。
'*'
匹配零到无穷个前一字符
'+'
匹配一到无穷个前一字符
'?'
匹配零到一格前一字符
*?, +?, ??
'*','+'和'?'匹配符都是贪婪的,它们匹配尽可能长的字符串。比如,用'<.*>'匹配'<H1>title</H1>',结果将是整个字符串。在它们之后加上'?',它们的匹配行为将会变为非贪婪的。比如,用'<.*?>'匹配'<H1>title</H1>',结果则是'<H1>'。
{m}
匹配前一字符m次
{m,n}
匹配前一字符m到n次。m如未指定,默认为零;n如未指定,默认为无穷。
{m,n}?
{m,n}的非贪婪模式。比如,用'a{3,5}?'匹配'aaaaaa',将得到'aaa'而不是'aaaaa'。
'\'
用于标记特殊序列或用于转义特殊字符。使用raw字符串,不需要转义特殊字符。
[]
用于匹配一组字符。
(1) [amk] 匹配 'a','m'或者'k'
(2) [a-z0-9] 匹配 '小写字母或者数字
(3) [a\-z] 匹配 'a','-'或者'z'
(4) [*?+] 匹配 '*','?'或者'+'
(5) [\w\s] 匹配 字母数字字符或者空白字符
(6) [()[\]{}] 匹配 (),[],或者{}
(7) [^5] 匹配 除'5'以外的任意字符
(8) [5^] 匹配 '5'或者'^'
'|'
A|B,匹配A或B表达式。匹配行为从左到右进行,非贪婪,一旦找到匹配表达式就停止匹配。