欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-26 19:48:31
...

假设有如下几行文本:

"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