本文主要就是在自己的認識的基礎上翻譯了部分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表達式。匹配行爲從左到右進行,非貪婪,一旦找到匹配表達式就停止匹配。