您好,登錄后才能下訂單哦!
基本語法
元字符
代碼 | 說明 | 舉例 |
. | 匹配除換行符外任意一個字符 | |
[abc] | 字符集合,只能表示一個字符位置。匹配所包含的任意一個字符 | |
[^abc] | 字符集合,只能表示一個字符位置。匹配除去集合內字符的任意一個字符 | |
[a-z] | 字符范圍,一個集合,表示一個字符位置匹配所包含的任意一個字符 | |
[^a-z] | 字符范圍,一個集合,表示一個字符位置匹配除去集合內字符的任意一個字符 | |
\b | 匹配單詞的邊界 | |
\B | 不匹配單詞的邊界 | |
\d | 等同[0-9] 匹配一位數字 | |
\D | 等同[^0-9] 匹配一位非數字 | |
\s | 匹配1位空白字符,包括換行符、制表符、空格等同[\f\r\n\t\v] | |
\S | 匹配1位非空白字符 | |
\w | 等同[a-zA-Z0-9_] 包含中文 | |
\W | 匹配\w之外的字符 |
轉義
凡是在正則表達式中有特殊意義的符號,轉義時使用\
重復
代碼 | 說明 | 舉例 |
* | 前面的正則表達式重復0次或多次 | |
+ | 前面的正則表達式重復至少一次 | |
? | 前面的正則表達式重復0次或1次 | |
{n} | 重復n次 | |
{n,} | 重復n次以上 | |
{n,m} | 重復n到m次 |
分組(捕獲)斷言
代碼 | 說明 | 舉例 | |||
x | y | 匹配x或y | |||
(pattern) | 分組(捕獲)后會自動分配組號從1開始可以改變優先級 \數字 匹配對應的分組(指的是前一個匹配上的分組的內容) | ||||
(?:pattern) | 只改變優先級不分組 | ||||
(?<name>exp)(?nameexp) | 分組捕獲 給組命名Python句法為(?P<name>exp) | ||||
(?=exp) | 零寬度正預測先行斷言斷言exp一定在匹配的右邊出現 | ||||
(?<=exp) | 零寬度正回顧后發斷言斷言exp一定出現在匹配的左邊出現 | ||||
(?!exp) | 零寬度負預測先行斷言斷言exp一定不會出現在右側 | ||||
(?<!exp) | 零寬度負回顧后發斷言斷言exp一定不會出現在左側 | ||||
(?#comment) | 注釋 |
斷言不會占用分組號
貪婪與非貪婪
默認貪婪模式,盡可能多的匹配字符串
代碼 | 說明 | 舉例 |
*? | 匹配任意次,盡可能少重復 | |
+? | 匹配至少一次,盡可能少重復 | |
?? | 匹配0或1次,盡可能少重復 | |
{n}? | 匹配至少n次,盡可能少重復 | |
{n,m}? | 匹配至少n次,至多m次,盡可能少重復 |
引擎選項
代碼 | 說明 | 舉例 |
IgnoreCase | 匹配時忽略大小寫 | re.Ire.IGNORECASE |
Singleline | 單行模式,可穿透/n | re.Sre.DOTALL |
Multiline | 多行模式 | re.Mre.MULTILINE |
IgnorePatternWhitespace | 忽略表達式中空白字符,若要使用空白字符 | re.Xre.VERBOSE |
代碼 說明 舉例
IgnoreCase 匹配時忽略大小寫 re.Ire.IGNORECASE
Singleline 單行模式,可穿透/n re.Sre.DOTALL
Multiline 多行模式 re.Mre.MULTILINE
IgnorePatternWhitespace 忽略表達式中空白字符,若要使用空白字符 re.Xre.VERBOSE
Python中使用|(位或)運算開啟多種選項
Python正則表達式
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。