天天看點

正規表達式,分組比對示例

假設有如下幾行文本:

"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