正则表达式之分组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式之分组相关的知识,希望对你有一定的参考价值。

假设有如下几行文本:

  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

以上是关于正则表达式之分组的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式之分组

正则表达式之分组

java之学习正则表达式的分组功能及案例

JavaScript之正则表达式

Python正则表达式之findall疑点

web前端之JavaScript正则表达式