普通字元:匹配與之相同的字元
字母、數字、漢字、下劃線、沒有特殊定義的標點符號。
簡單的轉義字元:
\n
換行符
\t
製表符
\\
代表\本身
\^,\$,\.,\(,\),\,\?,\+,\*,\|,\[,\]
匹配這些字元本身
標準字元集合:與多種字元相匹配的表示式
注:區分大小寫,大寫即相反的意思
\d
任意乙個數字,0-9之間 \d:任意乙個不是數字的字元
\w
任意乙個字母或數字或下劃線,a~z、a~z、0~9、_
\s
空格、製表符、換行符等空白字元中任意乙個
.
小數點可以匹配任意乙個字元(除換行符),若要匹配包括「\n」在內,用「[\s\s]」
自定義字元集合:[ ]方括號匹配方式,匹配方括號中任意乙個字元
[ab5@]
匹配「a」/「b」/「5」/「@」,或的關係即取∪
[^abc]
匹配「a」「b」「c」之外的任意字元
[f-k]
匹配「f~k」
[^a-f0-3]
匹配除「a~f」,「0~3」
注:正規表示式的特殊符號,被包含到中括號中,失去特殊意義(^,-除外)
標準字元集合,除小數點外,如果被包含於中括號,自定義字元集合將包含該集合。
[\d.\-+] 匹配:數字、小數點、+、-
量詞
表示式重複n次
表示式至少重複m次,最多重複n次
表示式至少重複m次,無形式
?
匹配表示式0次或1次,相當於
+
表示式至少出現1次,相當於
*
表示式不出現或出現任意次,相當於
注:匹配次數中的貪婪模式(匹配字元越多越好,是預設模式)
匹配次數中的非貪婪模式(匹配字元越少越好,修飾匹配次數的特殊符號後再加上乙個「?」號)
字元邊界 零寬度(匹配不到字元)
匹配的不是字元而是位置,符合某種條件的位置
與字串開始的地方匹配
與字串結束的地方匹配
\b匹配乙個單詞邊界
注: \b 匹配這樣乙個位置:前面的字元和後面的字元不全是\w
^i: i的左側是乙個字串開始的地方
i$:i的右側是字串結束的位置
匹配模式
選擇符和分組
反向引用(\nnn)
預搜尋(零寬斷言/環式斷言)
匹配內容本身不計入匹配結果
HIT2020春軟體構造 正規表示式語法
普通字元 匹配與之相同的字元 字母 數字 漢字 下劃線 沒有特殊定義的標點符號。簡單的轉義字元 n換行符 t製表符 代表 本身 匹配這些字元本身 標準字元集合 與多種字元相匹配的表示式 注 區分大小寫,大寫即相反的意思 d任意乙個數字,0 9之間 d 任意乙個不是數字的字元 w任意乙個字母或數字或下...
Python 正規表示式學習(二)正規表示式語法
一,單一字元匹配 1 匹配任意字元 import re res re.match r a.abcd print res.group 列印結果 abc一點.表示匹配任意的字元。上面的 表示匹配a後面的任意兩個字元。必須從a開始。若寫成 b.則會發生錯誤。2 匹配指定字元 如 0 9a za z 表示 ...
正規表示式 分組構造
分組構造使您可以 捕獲子表示式組並提高具有非捕獲 先行和回顧後發修飾符的正規表示式的效率。下表描述了正規表示式分組構造。分組構造 說明 捕獲匹配的子字串 或非捕獲組 有關詳細資訊,請參見正規表示式選項中的explicitcapture選項 使用 的捕獲根據左括號的順序從 1 開始自動編號。捕獲元素編...