22 - 正則基礎

返回主頁

📄目錄

1 正則表達式

字符串處理工具

❗️ 注意:使用時需要導入re模塊

1.1 特點

1.2 使用步驟

  1. 導入re模塊

  2. 使用match方法進行匹配操作

    1. re.match()能匹配出以xxx開頭的字符串,❗從字符串開頭開始匹配❗

    2. 如果起始位置沒有匹配成功,返回None

  3. 如果上一步數據匹配成功,使用group()提取數據

re.match(pattern, string, flags)

❗❗ 如果想在字符串任何位置匹配,可以用 re.search()

python-logo

輸出結果:

❗ 匹配的是表達式整體

2 匹配單個字符

字符功能
.匹配任意1個字符(除了\n)
[ ]匹配[ ]中列舉的字符
\d匹配數字,即0至9
\D匹配非數字,即不是數字
\s匹配空白,即空格、tab鍵
\S匹配非空白
\w匹配單詞字符,即a-z、A-Z、0-9、_
\W匹配非單詞字符

2.1 .z 匹配任意字符(常用)

⚠️ 不能匹配\n

python-logo

輸出結果:

2.2 [] 匹配列舉的字符(常用)

python-logo

輸出結果:

2.3 \d 匹配數字0-9(常用)

python-logo

輸出結果:

2.4 \D 匹配非數字(常用)

能匹配任何字母、符號(只有0-9不能被匹配)

python-logo

輸出結果:

2.5 \s 匹配空白,即空格和tab鍵

python-logo

輸出結果:

2.6 \S 匹配非空白

python-logo

輸出結果:

2.7 \w 匹配單詞字符,即a-Z,A-Z,0-9,_,漢字(常用)

python-logo

輸出結果:

2.8 \W 匹配非單詞字符

python-logo

輸出結果:

3 匹配多個字符

字符功能
*匹配前一個字符出現0次或者無限次,即可有可無
+匹配前一個字符出現1次或者無限次,即至少有一次
?四配前一個字符出現1次或者0次,即要麼有1次,要麼沒有
{m}匹配前一個字符出現m次
{m,n}匹配前一個字符出現從m到n次

3.1 * 匹配前一個字符出現不限次數(含0次)(常用)

python-logo

輸出結果:

3.2 + 匹配前一個字符出現至少一次(常用)

python-logo

輸出結果:

3.3 ? 四配前一個字符出現1次或者0次

python-logo

輸出結果:

3.4 {m} 匹配前一個字符出現m次

python-logo

輸出結果:

3.5 {m,n} 匹配前一個字符出現從m到n次

python-logo

輸出結果:

4 匹配開頭結尾

字符功能
^匹配字符串開頭
$匹配字符串結尾

4.1 ^ 匹配字符串開頭/表示對...取反

python-logo

輸出結果:

python-logo

❗ 注意:^[]中表示不匹配

輸出結果:

4.2 $ 匹配以...結尾

python-logo

輸出結果:

導航連結:

目的地超連結
首頁返回主頁
Python學習Python學習
上一篇21 - 協程
下一篇23 - 正則進階