1. 程式人生 > >正則表示式,分組匹配示例

正則表示式,分組匹配示例

假設有如下幾行文字:

"xxx" : {"name" : "123"}
"yyy" : {"name" : "456"}
"zzz" : {"name" : "789"}

 如果匹配出第1條和第3條,那麼可以使用以下的正則表示式:

"((xxx)|(zzz))".*

 其中,最外層的括號是不能省略的,即不能寫成:

"(xxx)|(zzz)".*

然後,在匹配到的結果中,

 ① $0 指匹配到的全部字串
 ② $1 指 ((xxx)|(zzz)) 這部分匹配到的字串
 ③ $2 指(xxx) 這部分匹配到的字串
 ④ $3 指(zzz) 這部分匹配到的字串 

對於 "xxx" : {"name" : "123"}  這行文字, $0   ~ $3 的值分別為:

 ① $0 : "xxx" : {"name" : "123"}
 ② $1 :xxx
 ③ $2 : xxx
 ④ $3 : (空字串)

 對於 "zzz" : {"name" : "789"} 這行文字, $0   ~ $3 的值分別為:

 ① $0 : "zzz" : {"name" : "789"}
 ② $1 : zzz
 ③ $2 : (空字串)
 ④ $3 : zzz