小括號中的連續字符作為可選:
"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)"
返回 92
為每個子表達式定義名稱:
"92/01/2009Description" -match "^(?<first>\d)(?<second>\d)"
$matches.first #返回9
()小括號就是括號內看成一個整體 ,將基本的單元合成一個大的單元。括號匹配字符串,並記住匹配結果,匹配結果則保存在結果數組中。如果只是用它來做分組,方法是在左括號的后邊加上:?,這里第一個圓括弧只是用來分組,而不會占用捕獲變量。
中括號就是匹配括號內的其中一個。
大括號就是匹配幾次
| 表示 或 例:"Bob and Ted" -match "Alice|Bob" 返回true
"Peter and Bob"
-match
"and (Bob|Willy)" 返回true