正則表示式中的小括號用法
阿新 • • 發佈:2018-12-25
正則表示式中的小括號用法
小括號中的連續字元作為可選:
“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