Python 中的字元類操作是什麼?


字元類操作是使用 Python 中的正則表示式匹配字串中特定型別字元的一種方法。

在正則表示式中,“字元類”是指要匹配的一組字元。可以使用方括號 `[]` 建立字元類。例如,如果要匹配任何母音,可以使用字元類 `[aeiou]`。這將匹配任何單個字元,這些字元是 'a'、'e'、'i'、'o' 或 'u' 中的任何一個。

示例

此程式碼將使用正則表示式 `[aeiou]` 搜尋 `text` 字串中的所有母音,並返回找到的所有母音的列表。

如您所見,輸出是字串中所有母音的列表,按其出現的順序排列。

import re
text = "The quick brown fox jumps over the lazy dog."
vowels = re.findall("[aeiou]", text)
print(vowels)

輸出

['e', 'u', 'i', 'o', 'o', 'u', 'e', 'o', 'e', 'a', 'o']

示例

可以在字元類內部使用插入符號 `^` 字元來匹配在該類中的任何字元。例如,字元類 `[^aeiou]` 將匹配不是母音的任何字元。以下是一個示例

此程式碼將使用正則表示式 `[^aeiou ]` 搜尋 `text` 字串中的所有子音(即任何不是母音或空格的字元),並返回找到的所有子音的列表。輸出將如下所示

如您所見,輸出是字串中所有子音的列表,按其出現的順序排列。

import re
text = "The quick brown fox jumps over the lazy dog."
consonants = re.findall("[^aeiou ]", text)
print(consonants)

輸出

['T', 'h', 'q', 'c', 'k', 'b', 'r', 'w', 'n', 'f', 'x', 'j', 'm', 'p', 's', 'v', 'r', 't', 'h', 'l', 'z', 'y', 'd', 'g', '.']

示例

可以使用連字元 `-` 字元在字元類內部指定字元範圍。例如,字元類 `[A-Z]` 將匹配從 A 到 Z 的任何大寫字母。以下是一個示例

此程式碼將使用正則表示式 `[A-Z]` 搜尋 `text` 字串中的所有大寫字母,並返回找到的所有大寫字母的列表。

如您所見,輸出是一個僅包含大寫字母 'T' 的列表,因為它是字串中唯一的大寫字母。

import re
text = "The quick brown fox jumps over the lazy dog."
capital_letters = re.findall("[A-Z]", text)
print(capital_letters)

輸出

['T']

示例

可以組合字元類以匹配更復雜的模式。例如,正則表示式 `[\w\d]` 將匹配任何字母數字字元。以下是一個示例

此程式碼將使用正則表示式 `[\w\d]` 搜尋 `text` 字串中的所有字母數字字元(即任何字母或數字),並返回找到的所有字母數字字元的列表。

如您所見,輸出是字串中所有字母數字字元的列表,按其出現的順序排列。

import re
text = "The price is $2.99."
alphanumeric = re.findall("[\w\d]", text)
print(alphanumeric)

輸出

['T', 'h', 'e', 'p', 'r', 'i', 'c', 'e', 'i', 's', '2', '9', '9']

示例

可以使用反斜槓 `\` 字元跳脫字元類內部的特殊字元。例如,正則表示式 $'[\backslash[\backslash]]'$ 將匹配任何方括號字元(`[` 或 `]`)。以下是一個示例

此程式碼將使用正則表示式 $'[\backslash[\backslash]]'$ 搜尋 `text` 字串中的所有方括號字元,並返回找到的所有方括號字元的列表。輸出將如下所示

如您所見,輸出是一個包含字串中兩個方括號字元的列表,因為它們是唯一與正則表示式 $'[\backslash[\backslash]]'$ 匹配的字元。

import re
text = "This is a [test]."
brackets = re.findall("[\[\]]", text)
print(brackets)

輸出

['[', ']']

這些只是如何在 Python 中使用字元類操作的一些示例。透過組合字元類和其他正則表示式操作,您幾乎可以匹配文字字串中想到的任何模式。

更新於: 2023年5月19日

2K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告