正則表示式 python
阿新 • • 發佈:2021-01-20
一、字元匹配
1.元字元: . ^ $ * + ? { } [ ] \ | ( )
2.方括號 [ ] :指定一個【字元類】,用來存放你希望匹配的字元集合。一個連續範圍內的字元也可以用橫槓‘-’連線首尾兩個字元指定。 比如,[abc]可以匹配 a,b 或 c,[a-c]也有同樣的效果。
2.1元字元在方括號內不會被啟用!比如,[akm$]可以匹配字元‘a’,‘k’, ‘m’或者’ ’ , ‘ ’,‘ ’,‘’元字元會失去它的特性,匹配自身。
2.2匹配未在方括號中列出的字元,這需要在方括號中的第一個字元前面加上‘’脫字元號,方括號字元集合之外的字元可以簡單地匹配‘ ’符號。比如,[^5]可以匹配任何 不是‘5’的字元。
3.反斜槓\:如果反斜槓後面跟著一個元字元,那麼元字元的 “特殊功能”將不會被觸發。比如需要去匹配一個 [ 或者 \ ,可以在它們之前加上反 斜槓 \ 以去掉它們的特殊語義:\ [ 或者 \。
3.1有一些特殊的、常用的序列也以反斜槓開始,比如十進位制數字,或者非空白的字元集合。\w 匹配所有字母數字字元,如果正則表示式以位元組的形式表示, 這相當於字元類[a-zA-Z0-9]。如果正則表示式是一個字串,\w 會匹配所有在 Unicode 資料 庫中標記的為字母的字元。你在編譯正則表示式的時候可以通過提供 re.ASCII 標誌進一步限制 \w 的定義。下面列舉一些反斜槓加字元構成的特殊序列(並不完整)。
\d:匹配所有十進位制數字,相當於字元類[0-9]
\D:匹配所有非數字字元,相當於字元類[^0-9]
\s:匹配所有空白字元(包括製表符、換行符等),相當於字元類[\t\n\r\f\v]
\S:匹配所有非空白字元,相當於字元類[^\t\n\r\f\v]
\w:匹配所有字母數字字元,相當於字元類[a-zA-Z0-9]
\W:匹配所有非字母數字字元,相當於字元類[^a-zA-Z0-9]