本文共 591 字,大约阅读时间需要 1 分钟。
假设有如下几行文本:
"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
本文转自echoroot 51CTO博客,原文链接:http://blog.51cto.com/echoroot/1922564,如需转载请自行联系原作者