在 Python 的正則表達式模組中,
re.Match 物件的 .group() 方法行為是固定的,
.group(0) 和 .group(1) 的作用完全不同,
它們並不相同
.group(0) #等效於.group()
表示整個正則表達式匹配到的內容。
它返回的是整個匹配字符串,
無論正則表達式中有多少捕獲組(括號 ())。
輸出類型:一個 str
.group(1)
表示第一個捕獲組(())匹配到的內容。
如果正則表達式中帶有捕獲組(即括號 ()),
.group(1) 會返回第一個捕獲組內匹配的內容。
輸出類型:一個 str
有捕獲組的正則表達式
假設你有以下字符串和正則表達式:
import re
line = "device: 1"
pattern = r"device: (\d+)" # 捕獲數字部分
device_match = re.search(pattern, line)
if device_match:
print(".group(0):", device_match.group(0)) # 整個匹配結果
print(".group(1):", device_match.group(1)) # 第一個捕獲組輸出結果:

.group(0) 返回的是整個正則表達式匹配的內容 “device: 1″。
.group(1) 返回的是第一個捕獲組,即括號 () 匹配到的內容 “1”。
沒有捕獲組的正則表達式
如果正則表達式中沒有捕獲組,
只有 .group(0) 有效,因為 .group(1) 將導致錯誤:

捕獲組數量多的情況
如果正則表達式中有多個捕獲組,
.group(n) 可以提取對應的捕獲組內容:

.group(0):返回整個匹配的內容。
.group(1):返回第一個捕獲組匹配的內容,即 1。
.group(2):返回第二個捕獲組匹配的內容,即 8080。
正則表達式的 re.Match 物件中,
只有 .groups() 會返回所有捕獲組的元組(tuple)
.groups()

.group(0) 和 .group(1) 的區別:
.group(0):整個正則表達式的匹配結果。
.group(1):第一個捕獲組的匹配內容。
數據類型:
.group(0) 和 .group(1) 都返回 str
推薦hahow線上學習python: https://igrape.net/30afN
![Python 如何用pandas.Series.nsmallest() 找到n個與target差距最小的index?再從中找到距離idxmax最近的index?避免誤抓sidelobes的index? targetIdx = (serMean-target_value).abs().nsmallest(n).index.tolist() ;Series切片: .loc[標籤名1:標籤名2] (會含標籤名2) ; .iloc[位置1:位置2] (不含位置2) Python 如何用pandas.Series.nsmallest() 找到n個與target差距最小的index?再從中找到距離idxmax最近的index?避免誤抓sidelobes的index? targetIdx = (serMean-target_value).abs().nsmallest(n).index.tolist() ;Series切片: .loc[標籤名1:標籤名2] (會含標籤名2) ; .iloc[位置1:位置2] (不含位置2)](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2023/02/20230222082954_53.png?quality=90&zoom=2&ssl=1&resize=350%2C233)




![Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2022/09/20220923222039_57.png?quality=90&zoom=2&ssl=1&resize=350%2C233)




近期留言