最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 正則表達式中的`^`和`[]`及常見含義

 更新時間:2025年06月24日 10:25:43   作者:shengchao0920  
文章解析Python正則中^和[]的用途:^在字符集前取反,外表示開頭;[]定義字符集,支持范圍、取反及特殊字符處理,需注意與錨點及預定義類的區(qū)別,本文給大家介紹Python 正則表達式中的^和[]及含義,感興趣的朋友一起看看吧

一、正則表達式:符號^

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

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

例如:

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

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

例如:

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

總結:

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

二、正則表達式:字符集[ ]

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

1. 基本用法

字符集 [ ] 中的每個字符都是獨立的匹配選項。例如:

  • [abc]:匹配 a、b 或 c 中的任意一個字符。
  • [0123456789]:匹配任意一個數字(等價于 [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)

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

  • [^abc]:匹配除了 a、bc 之外的任意字符。
  • [^0-9]:匹配非數字字符(等價于 \D)。

示例:

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

3. 范圍(Range)

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

  • [a-z]:匹配任意小寫字母。
  • [A-Z]:匹配任意大寫字母。
  • [0-9]:匹配任意數字(等價于 \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. 特殊字符在字符集中的處理

  • 普通元字符(如 *、+、?)在字符集中會被視為普通字符,無需轉義。例如:
    • [*+]:匹配 * 或 +
  • 如果需要匹配 - 或 ],需注意:
    • - 放在開頭或結尾(如 [a-] 或 [-a])。
    • ] 放在開頭(如 []a])或轉義(如 [\]])。

示例:

text = "a*b+c?d]"
print(re.findall(r'[*+?]', text))  # 輸出: ['*', '+', '?']
print(re.findall(r'[]]', text))    # 輸出: [']']

5. 與預定義字符類的關系

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

  • \d ≈ [0-9](數字)。
  • \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. 與錨點 ^ 的區(qū)別

  • ^ 在字符集外表示字符串開頭(如 ^abc 匹配以 abc 開頭的字符串)。
  • ^ 在字符集內表示取反(如 [^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'](取反)

總結

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

到此這篇關于Python 正則表達式中的`^`和`[]`的文章就介紹到這了,更多相關Python 正則表達式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談TensorFlow中讀取圖像數據的三種方式

    淺談TensorFlow中讀取圖像數據的三種方式

    這篇文章主要介紹了淺談TensorFlow中讀取圖像數據的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 基于Python制作簡單的音樂播放器

    基于Python制作簡單的音樂播放器

    這篇文章主要為大家詳細介紹了如何基于Python制作簡單的音樂播放器,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以了解下
    2024-02-02
  • PyTorch?之?強大的?hub?模塊和搭建神經網絡進行氣溫預測

    PyTorch?之?強大的?hub?模塊和搭建神經網絡進行氣溫預測

    hub 模塊是調用別人訓練好的網絡架構以及訓練好的權重參數,使得自己的一行代碼就可以解決問題,方便大家進行調用,這篇文章主要介紹了PyTorch?之?強大的?hub?模塊和搭建神經網絡進行氣溫預測,需要的朋友可以參考下
    2023-03-03
  • python 在threading中如何處理主進程和子線程的關系

    python 在threading中如何處理主進程和子線程的關系

    這篇文章主要介紹了python 在threading中如何處理主進程和子線程的關系,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python判斷有效的數獨算法示例

    Python判斷有效的數獨算法示例

    這篇文章主要介紹了Python判斷有效的數獨算法,結合實例形式分析了Python針對數獨有效性判定的相關操作技巧,需要的朋友可以參考下
    2019-02-02
  • python集合是否可變總結

    python集合是否可變總結

    在本篇文章里小編給大家分享了關于python集合是否可變的相關知識點總結,有需要的朋友們學習下。
    2019-06-06
  • Python Numpy庫安裝與基本操作示例

    Python Numpy庫安裝與基本操作示例

    這篇文章主要介紹了Python Numpy庫安裝與基本操作,簡單介紹了Numpy庫的基本功能、并結合實例形式分析了基于Numpy庫的數組與矩陣相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • python連接并簡單操作SQL?server數據庫詳細步驟

    python連接并簡單操作SQL?server數據庫詳細步驟

    python作為一門十分火熱的編程語言,操作數據庫自然是必不可少的,下面這篇文章主要給大家介紹了關于python連接并簡單操作SQL?server數據庫的相關資料,需要的朋友可以參考下
    2023-06-06
  • Python OpenCV實現裁剪并保存圖片

    Python OpenCV實現裁剪并保存圖片

    這篇文章主要為大家詳細介紹了Python OpenCV實現裁剪并保存圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Python實現復制圖片到指定文件夾并按順序重新命名

    Python實現復制圖片到指定文件夾并按順序重新命名

    這篇文章主要為大家詳細介紹了如何利用Python實現將360個文件夾里的照片,全部復制到指定的文件夾中,并且按照順序重新命名,感興趣的小伙伴可以了解一下
    2023-03-03

最新評論

耿马| 烟台市| 杨浦区| 丰宁| 聊城市| 武乡县| 博乐市| 石屏县| 黄平县| 旬阳县| 扶沟县| 依兰县| 冷水江市| 漳平市| 沁水县| 银川市| 永宁县| 阿尔山市| 黔江区| 靖宇县| 奉新县| 延长县| 麦盖提县| 靖安县| 铜陵市| 当雄县| 闸北区| 张家港市| 佛山市| 铜山县| 宜兴市| 九龙坡区| 南郑县| 康平县| 卢氏县| 蛟河市| 晴隆县| 外汇| 元阳县| 武强县| 德清县|