Python正則表達(dá)式常用特殊字符及其含義示例詳解
以下是 Python 正則表達(dá)式常用特殊字符及其含義 的全面整理,涵蓋了常見和重要的正則符號(hào),以及它們的示例,適合用來寫博客或?qū)W習(xí)使用:
Python 正則表達(dá)式常用特殊字符及其含義
1. . (點(diǎn)號(hào))
- 含義:匹配除換行符
\n以外的任意單個(gè)字符。 - 示例:
import re pattern = r"a.b" print(re.match(pattern, "acb")) # 匹配成功,"a.b" 中間任意字符 print(re.match(pattern, "a\nb")) # 不匹配,中間是換行符
2. ^ (脫字符)
- 含義:匹配字符串的開頭。
- 示例:
pattern = r"^Hello" print(re.match(pattern, "Hello world")) # 匹配成功 print(re.match(pattern, "world Hello")) # 不匹配
3. $ (美元符)
- 含義:匹配字符串的結(jié)尾。
- 示例:
pattern = r"world$" print(re.search(pattern, "Hello world")) # 匹配成功 print(re.search(pattern, "Hello world!")) # 不匹配
4. * (星號(hào))
- 含義:匹配前面的字符零次或多次。
- 示例:
pattern = r"ab*" print(re.match(pattern, "a")) # 匹配成功,b 出現(xiàn)零次 print(re.match(pattern, "abbb")) # 匹配成功,b 出現(xiàn)多次
5. + (加號(hào))
- 含義:匹配前面的字符一次或多次。
- 示例:
pattern = r"ab+" print(re.match(pattern, "ab")) # 匹配成功,b 出現(xiàn)一次 print(re.match(pattern, "a")) # 不匹配,至少需要一個(gè) b
6. ? (問號(hào))
- 含義:匹配前面的字符零次或一次。
- 示例:
pattern = r"ab?" print(re.match(pattern, "a")) # 匹配成功,b 出現(xiàn)零次 print(re.match(pattern, "ab")) # 匹配成功,b 出現(xiàn)一次 print(re.match(pattern, "abb")) # 不匹配,b 出現(xiàn)兩次
7. {n}, {n,}, {n,m} (量詞限定符)
- 含義:
{n}:匹配前一個(gè)字符恰好 n 次。{n,}:匹配至少 n 次。{n,m}:匹配至少 n 次,至多 m 次。
- 示例:
pattern = r"ab{2,4}" print(re.match(pattern, "abb")) # 匹配成功,b 出現(xiàn) 2 次 print(re.match(pattern, "abbbb")) # 不匹配,b 超過 4 次
8. [...] (字符類)
- 含義:匹配方括號(hào)內(nèi)的任意字符。
[a-z]:表示范圍,匹配從a到z的任意字符。[^...]:取反,匹配不在方括號(hào)內(nèi)的任意字符。
- 示例:
pattern = r"[aeiou]" print(re.match(pattern, "apple")) # 匹配成功,匹配元音字母 'a' pattern2 = r"[^aeiou]" print(re.match(pattern2, "hello")) # 匹配 'h',不是元音字母
9. - (連字符/減號(hào))
- 含義:在字符類中,表示范圍。
[a-z]:從a到z。[A-Z]:從A到Z。[-]:如果-出現(xiàn)在開頭或結(jié)尾,匹配減號(hào)本身。
- 示例:
pattern = r"[a-z0-9]" print(re.match(pattern, "5")) # 匹配成功,數(shù)字在范圍內(nèi) print(re.match(pattern, "g")) # 匹配成功,字母在范圍內(nèi)
10. | (管道符)
- 含義:表示邏輯 "或",匹配左邊或右邊的規(guī)則。
- 示例:
pattern = r"cat|dog" print(re.match(pattern, "cat")) # 匹配成功 print(re.match(pattern, "dog")) # 匹配成功
11. () (分組和捕獲)
- 含義:將多個(gè)字符作為一個(gè)整體進(jìn)行匹配,并捕獲組內(nèi)容。
- 示例:
pattern = r"(ab)+" print(re.match(pattern, "abab")) # 匹配成功
12. \ (反斜杠)
- 含義:用于轉(zhuǎn)義特殊字符,或表示特殊的匹配序列。
\d:匹配數(shù)字[0-9]。\s:匹配空白字符(如空格、制表符)。\w:匹配字母、數(shù)字和下劃線[a-zA-Z0-9_]。\D、\S、\W:與上述序列的反義。
- 示例:
pattern = r"\d+" print(re.match(pattern, "12345")) # 匹配成功 print(re.match(pattern, "abc")) # 不匹配
13. \b 和 \B (單詞邊界)
\b:匹配單詞邊界。\B:匹配非單詞邊界。- 示例:
pattern = r"\bcat\b" print(re.search(pattern, "a cat sat")) # 匹配成功,完整的單詞 'cat' pattern2 = r"cat\B" print(re.search(pattern2, "concatenate")) # 匹配成功,'cat' 后非邊界
14. 零寬斷言 (Lookaround)
(?=...):正向肯定預(yù)查。(?!...):正向否定預(yù)查。(?<=...):后向肯定預(yù)查。(?<!...):后向否定預(yù)查。- 示例:
pattern = r"(?<=\$)\d+" print(re.search(pattern, "價(jià)格是$100")) # 匹配 '100',不包括 '$'
15. 命名組和引用
(?P<name>...):定義命名分組。(?P=name):引用命名分組。- 示例:
pattern = r"(?P<number>\d+)\s+(?P=number)" print(re.match(pattern, "123 123")) # 匹配兩個(gè)相同的數(shù)字
以上內(nèi)容全面涵蓋了 Python 正則表達(dá)式中的常用特殊字符及其含義,并結(jié)合示例展示了每個(gè)符號(hào)的實(shí)際用法,適合用于博客或深入學(xué)習(xí)。
總結(jié)
到此這篇關(guān)于Python正則表達(dá)式常用特殊字符及其含義示例詳解的文章就介紹到這了,更多相關(guān)Python正則特殊字符及含義內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子
今天小編就為大家分享一篇pytorch 批次遍歷數(shù)據(jù)集打印數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python&Matlab實(shí)現(xiàn)灰狼優(yōu)化算法的示例代碼
灰狼優(yōu)化算法是一種群智能優(yōu)化算法,它的獨(dú)特之處在于一小部分擁有絕對(duì)話語權(quán)的灰狼帶領(lǐng)一群灰狼向獵物前進(jìn)。本文具體介紹了灰狼優(yōu)化算法的兩種實(shí)現(xiàn)示例代碼,需要的可以參考一下2022-03-03
python中sklearn的pipeline模塊實(shí)例詳解
這篇文章主要介紹了python中sklearn的pipeline模塊的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Python Flask利用SocketIO庫實(shí)現(xiàn)圖表的繪制
這篇文章主要為大家詳細(xì)介紹了Python Flask框架如何利用SocketIO庫實(shí)現(xiàn)圖表的繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
如何構(gòu)建第二個(gè)Django的應(yīng)用程序
這篇文章主要介紹了如何構(gòu)建第二個(gè)Django的應(yīng)用程序問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
PyCharm MySQL可視化Database配置過程圖解
這篇文章主要介紹了PyCharm MySQL可視化Database配置過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python插件virtualenv搭建虛擬環(huán)境
這篇文章主要為大家詳細(xì)介紹了Python插件virtualenv搭建虛擬環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
python中plt.imshow與cv2.imshow顯示顏色問題
這篇文章主要介紹了plt.imshow與cv2.imshow顯示顏色問題,本文給大家介紹的非常詳細(xì),同時(shí)給大家提到了cv2.imshow()和plt.imshow()的區(qū)別講解,需要的朋友可以參考下2020-07-07

