正则表达式,分组匹配示例

阅读更多

假设有如下几行文本:

"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

 

 

你可能感兴趣的:(正则表达式,regexp,Pattern,分组匹配,$0)