首页 > 代码库 > 正则表达式之分组

正则表达式之分组

假设有如下几行文本:

  1. "xxx" : {"name" : "123"}  

  2. "yyy" : {"name" : "456"}  

  3. "zzz" : {"name" : "789"}  

 如果匹配出第1条和第3条,那么可以使用以下的正则表达式:

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

 其中,最外层的括号是不能省略的,即不能写成:co

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

 

 

然后,在匹配到的结果中,

 cop技术分享

  1. ① $0 指匹配到的全部字符串  

  2. ② $1 指 ((xxx)|(zzz)) 这部分匹配到的字符串  

  3. ③ $2 指(xxx) 这部分匹配到的字符串  

  4. ④ $3 指(zzz) 这部分匹配到的字符串   

 

 

对于 "xxx" : {"name" : "123"}  这行文本, $0   ~ $3 的值分别为:

技术分享

  1. ① $0 : "xxx" : {"name" : "123"}  

  2. ② $1 :xxx  

  3. ③ $2 : xxx  

  4. ④ $3 : (空字符串)  

 对于 "zzz" : {"name" : "789"} 这行文本, $0   ~ $3 的值分别为:

 

 技术分享

  1. ① $0 : "zzz" : {"name" : "789"}  

  2. ② $1 : zzz  

  3. ③ $2 : (空字符串)  

  4. ④ $3 : zzz  

 

本文出自 “勤能补拙” 博客,请务必保留此出处http://echoroot.blog.51cto.com/11804540/1922564

正则表达式之分组