Python 正則表示式中的“?:”是什麼意思?
非捕獲組
如果 我們不想要某個組捕獲其匹配內容,可以使用 Set(?:Value) 這種正則表示式。問號和開括號後的冒號就是建立非捕獲組的語法。
正則表示式 Set(Value)? 將匹配 Set 或 SetValue。第一種情況下,第一個(也是唯一的)捕獲組仍然是空的。第二種情況下,第一個捕獲組將匹配 Value。最後出現的問號是量詞,使前一個標記變為可選項。
Set(?:Value) 將匹配 Setxxxxx,即所有以 Set 開頭但不後接 Value 的字串。這將是非捕獲組。
color=(?:red|green|blue) 是另一個帶有非捕獲組的正則表示式。此正則表示式沒有量詞。
通常情況下,支援命名捕獲的正則表示式風格具有將所有未命名組變成非捕獲組的選項。
廣告