正則表達式的元字符有. ^ $ * ? { [ ] | ( )
.表示任意字符,普通模式下匹配除換行符以外的所有字符
[]用來匹配一個指定的字符類別,所謂的字符類別就是你想匹配的一個字符集,對于字符集中的字符可以理解成或的關系。
^ 如果放在字符串的開頭,則表示取非的意思。[^5]表示除了5之外的其他字符。而如果^不在字符串的開頭,則表示它本身。
重復功能的元字符
* 對于前一個字符重復0到無窮次
+ 對于前一個字符重復1到無窮次
? 對于前一個字符重復0到1次
{m,n} 對于前一個字符重復次數在為m到n次,其中,{0,} = *,{1,} = , {0,1} = ?
{m} 對于前一個字符重復m次
\d 匹配任何十進制數;它相當于類 [0-9]。
\D 匹配任何非數字字符;它相當于類 [^0-9]。
\s 匹配任何空白字符;它相當于類 [ fv]。
\S 匹配任何非空白字符;它相當于類 [^ fv]。
\w 匹配任何字母數字字符;它相當于類 [a-zA-Z0-9_]。
\W 匹配任何非字母數字字符;它相當于類 [^a-zA-Z0-9_]。
通過元字符的組合可以編譯成正則表達式:
1.元字符([ ]),它用來指定一個character class。字符(character)可以單個的列出,也可以通過”-“來分隔兩個字符來表示一個范圍。例如,[abc]匹配a,b或者c當中任意一個字符,[abc]也可以用字符區間來表示[a-c].如果想要匹配單個大寫字母,你可以用 [A-Z]。
2.元字符(),元字符backslash。做為 Python 中的字符串字母,反斜杠后面可以加不同的字符以表示不同特殊意義。
它也可以用于取消所有的元字符,這樣你就可以在模式中匹配它們了。例如,如果你需要匹配字符 “[” 或 “\”,你可以在它們之前用反斜杠來取消它們的特殊意義: [ 或 \
3.元字符($)匹配字符串的結尾或者字符串結尾的換行之前。(在MULTILINE模式下,”$”也匹配換行之前)
正則表達式”foo”既匹配”foo”又匹配”foobar”,而”foo$”僅僅匹配”foo”.