1. 程式人生 > >正則表示式中的小括號用法

正則表示式中的小括號用法

正則表示式中的小括號用法

小括號中的連續字元作為可選:

“Nov” -match “\bNov(ember)?\b” 返回true

“November” -match “\bNov(ember)?\b” 返回true

正則表示式中的小括號的作用是對字元進行分組,並儲存匹配的文字。與位於小括號之間的模式匹配的內容都會被捕獲

“92/01/2009Description” -match “^(\d)(\d)”

返回值為9 ,2

在這裡插入圖片描述

當小括號中的內容不是想捕獲的物件時,即小括號的內容不作為捕獲物件,採用非捕獲小括號可以提高匹配效率。

“92/01/2009Description” -match “^(\d)(?:\d)”

返回值為9
在這裡插入圖片描述

“92/01/2009Description” -match “^(?:\d)(?:\d)”

返回 2
在這裡插入圖片描述

為每個子表示式定義名稱:

“92/01/2009Description” -match “^(?\d)(?\d)”

$matches.first #返回9
在這裡插入圖片描述

()小括號就是括號內看成一個整體 ,將基本的單元合成一個大的單元。括號匹配字串,並記住匹配結果,匹配結果則儲存在結果陣列中。如果只是用它來做分組,方法是在左括號的後邊加上:?,這裡第一個圓括弧只是用來分組,而不會佔用捕獲變數。
在這裡插入圖片描述

中括號就是匹配括號內的其中一個。

大括號就是匹配幾次

| 表示 或 例:“Bob and Ted” -match “Alice|Bob” 返回true

“Peter and Bob” -match “and (Bob|Willy)” 返回true