亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python正則表達(dá)式中的符號(hào)^和[]舉例詳解

 更新時(shí)間:2025年07月05日 10:14:10   作者:shengchao0920  
正則表達(dá)式是一種用于匹配字符串模式的工具,在Python中re庫(kù)提供了正則表達(dá)式的支持,這篇文章主要介紹了Python正則表達(dá)式中符號(hào)^和[]的相關(guān)資料,需要的朋友可以參考下

一、正則表達(dá)式:符號(hào)^

^ 在正則表達(dá)式中有兩種常見的含義,具體取決于它的位置:

1. 在字符集 [ ] 的開頭時(shí),表示取反(negation)。

例如:

  • [^s]:匹配任何非空白字符。
  • [^a-z]:匹配任何不在 a-z 范圍內(nèi)的字符。

2. 在字符集之外時(shí),表示字符串的開始(anchor)。

例如:

  • ^https:匹配以 “https” 開頭的字符串。
  • ^\d:匹配以數(shù)字開頭的字符串。

總結(jié):

  • 在 [ ] 內(nèi):取反。
  • 在 [ ] 外:字符串開始。
    需要根據(jù)上下文判斷 ^ 的具體含義。

二、正則表達(dá)式:字符集[ ]

[ ] 在正則表達(dá)式中表示字符集(character set),用于匹配其中任意一個(gè)字符。下面詳細(xì)講解其具體用法和規(guī)則:

1.基本用法

字符集 [ ] 中的每個(gè)字符都是獨(dú)立的匹配選項(xiàng)。例如:

  • [abc]:匹配 a、bc 中的任意一個(gè)字符。
  • [0123456789]:匹配任意一個(gè)數(shù)字(等價(jià)于 [0-9])。

示例:

import re
text = "a1b2c3"
print(re.findall(r'[abc]', text))  # 輸出: ['a', 'b', 'c']
print(re.findall(r'[0-9]', text))  # 輸出: ['1', '2', '3']

2.取反(Negation)

如果 ^ 出現(xiàn)在字符集的開頭(即 [^...]),表示匹配不在該字符集中的任意字符。例如:

  • [^abc]:匹配除了 a、b、c 之外的任意字符。
  • [^0-9]:匹配非數(shù)字字符(等價(jià)于 \D)。
示例:
text = "a1b2c3!@#"
print(re.findall(r'[^abc]', text))  # 輸出: ['1', '2', '3', '!', '@', '#']
print(re.findall(r'[^0-9]', text))  # 輸出: ['a', 'b', 'c', '!', '@', '#']

3.范圍(Range)

在字符集中,可以用 - 表示字符范圍(需確保 - 不在開頭或結(jié)尾,否則會(huì)被視為普通字符)。例如:

  • [a-z]:匹配任意小寫字母。
  • [A-Z]:匹配任意大寫字母。
  • [0-9]:匹配任意數(shù)字(等價(jià)于 \d)。
示例:
text = "Hello World 123"
print(re.findall(r'[a-z]', text))  # 輸出: ['e', 'l', 'l', 'o', 'o', 'r', 'l', 'd']
print(re.findall(r'[A-Z]', text))  # 輸出: ['H', 'W']
print(re.findall(r'[0-9]', text))  # 輸出: ['1', '2', '3']

4.特殊字符在字符集中的處理

  • 普通元字符(如 *、+、?)在字符集中會(huì)被視為普通字符,無(wú)需轉(zhuǎn)義。例如:
    • [*+]:匹配 *+
  • 如果需要匹配 -],需注意:
    • - 放在開頭或結(jié)尾(如 [a-][-a])。
    • ] 放在開頭(如 []a])或轉(zhuǎn)義(如 [\]])。
示例:
text = "a*b+c?d]"
print(re.findall(r'[*+?]', text))  # 輸出: ['*', '+', '?']
print(re.findall(r'[]]', text))    # 輸出: [']']

5.與預(yù)定義字符類的關(guān)系

字符集 [ ] 可以實(shí)現(xiàn)類似預(yù)定義字符類(如 \d、\w、\s)的功能,但更靈活:

  • \d[0-9](數(shù)字)。
  • \w[a-zA-Z0-9_](單詞字符)。
  • \s[\t\n\r\f\v](空白字符)。
示例:
text = "abc123 _!@#"
print(re.findall(r'\w', text))    # 輸出: ['a', 'b', 'c', '1', '2', '3', '_']
print(re.findall(r'[a-zA-Z0-9_]', text))  # 效果相同

6.與錨點(diǎn)^的區(qū)別

  • ^ 在字符集外表示字符串開頭(如 ^abc 匹配以 abc 開頭的字符串)。
  • ^ 在字符集內(nèi)表示取反(如 [^abc] 匹配非 a、b、c 的字符)。
示例:
text = "abc123 xyz"
print(re.findall(r'^abc', text))    # 輸出: ['abc'](匹配開頭)
print(re.findall(r'[^abc]', text))  # 輸出: ['1', '2', '3', ' ', 'x', 'y', 'z'](取反)

總結(jié)

  • [ ]:字符集,匹配其中任意一個(gè)字符。
  • [^...]:取反字符集,匹配不在其中的字符。
  • -:在字符集中表示范圍(如 [a-z])。
  • 注意與錨點(diǎn) ^ 的區(qū)別,以及特殊字符的處理。

到此這篇關(guān)于Python正則表達(dá)式中的符號(hào)^和[]詳解的文章就介紹到這了,更多相關(guān)Python正則表達(dá)式^和[]內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pandas combine_first函數(shù)處理兩個(gè)數(shù)據(jù)集重疊和缺失

    pandas combine_first函數(shù)處理兩個(gè)數(shù)據(jù)集重疊和缺失

    combine_first是pandas中的一個(gè)函數(shù),它可以將兩個(gè)DataFrame對(duì)象按照索引進(jìn)行合并,用一個(gè)對(duì)象中的非空值填充另一個(gè)對(duì)象中的空值,這個(gè)函數(shù)非常適合處理兩個(gè)數(shù)據(jù)集有部分重疊和缺失的情況,可以實(shí)現(xiàn)數(shù)據(jù)的補(bǔ)全和更新,本文介紹combine_first函數(shù)的語(yǔ)法及一些案例應(yīng)用
    2024-01-01
  • Python?threading和Thread模塊及線程的實(shí)現(xiàn)

    Python?threading和Thread模塊及線程的實(shí)現(xiàn)

    這篇文章主要介紹了Python?threading和Thread模塊及線程的實(shí)現(xiàn),Python通過兩個(gè)標(biāo)準(zhǔn)庫(kù)thread和threading提供對(duì)線程的支持,threading對(duì)thread進(jìn)行了封裝,具體實(shí)現(xiàn)介紹需要的朋友可以參考一下下面文章內(nèi)容
    2022-06-06
  • Python處理不同接口間參數(shù)依賴的方法總結(jié)

    Python處理不同接口間參數(shù)依賴的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了如何使用Python編寫接口自動(dòng)化測(cè)試,以有效地處理不同接口之間的參數(shù)依賴,并提供豐富的示例代碼,希望對(duì)大家有所幫助
    2024-01-01
  • python異步編程之a(chǎn)syncio低階API的使用詳解

    python異步編程之a(chǎn)syncio低階API的使用詳解

    asyncio中低階API的種類很多,涉及到開發(fā)的5個(gè)方面,這篇文章主要為大家詳細(xì)介紹了這些低階API的具體使用,感興趣的小伙伴可以學(xué)習(xí)一下
    2024-01-01
  • Python實(shí)現(xiàn)定制自動(dòng)化業(yè)務(wù)流量報(bào)表周報(bào)功能【XlsxWriter模塊】

    Python實(shí)現(xiàn)定制自動(dòng)化業(yè)務(wù)流量報(bào)表周報(bào)功能【XlsxWriter模塊】

    這篇文章主要介紹了Python實(shí)現(xiàn)定制自動(dòng)化業(yè)務(wù)流量報(bào)表周報(bào)功能,結(jié)合實(shí)例形式分析了Python基于XlsxWriter模塊操作xlsx文件生成報(bào)表圖的相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • python文件和文件夾復(fù)制函數(shù)

    python文件和文件夾復(fù)制函數(shù)

    這篇文章主要為大家詳細(xì)介紹了python文件和文件夾復(fù)制函數(shù)的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • python打印經(jīng)典故事從前有座山的幾種寫法

    python打印經(jīng)典故事從前有座山的幾種寫法

    在定義了函數(shù)之后,就可以使用該函數(shù)了,下面這篇文章主要給大家介紹了關(guān)于python打印經(jīng)典故事從前有座山的幾種寫法,通過這個(gè)有意思的實(shí)例幫助大家學(xué)習(xí)python,需要的朋友可以參考下
    2022-05-05
  • Python切片操作去除字符串首尾的空格

    Python切片操作去除字符串首尾的空格

    這篇文章主要介紹了Python切片操作去除字符串首尾的空格 的相關(guān)資料,需要的朋友可以參考下
    2019-04-04
  • pip/anaconda修改鏡像源,加快python模塊安裝速度的操作

    pip/anaconda修改鏡像源,加快python模塊安裝速度的操作

    這篇文章主要介紹了pip/anaconda修改鏡像源,加快python模塊安裝速度的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-03-03
  • Python延時(shí)操作實(shí)現(xiàn)方法示例

    Python延時(shí)操作實(shí)現(xiàn)方法示例

    這篇文章主要介紹了Python延時(shí)操作實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python基于sched庫(kù)與time庫(kù)實(shí)現(xiàn)延時(shí)操作的方法,需要的朋友可以參考下
    2018-08-08

最新評(píng)論