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


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

"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   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM