博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式之分组
阅读量:6202 次
发布时间:2019-06-21

本文共 591 字,大约阅读时间需要 1 分钟。

假设有如下几行文本:

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

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

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

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

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

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

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

 

 

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

 

  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  

 

      本文转自echoroot 51CTO博客,原文链接:http://blog.51cto.com/echoroot/1922564,如需转载请自行联系原作者

你可能感兴趣的文章
linux下redis安装
查看>>
030910-表单:标签、类型、注意事项
查看>>
多线程编程之两阶段终止模式
查看>>
(转)Android 命令行手动编译打包详解
查看>>
第91天:CSS3 属性选择器、伪类选择器和伪元素选择器
查看>>
微软 CRM 2016 自定义视图顶部按钮
查看>>
SPOJ Problem 302:Count on Cantor
查看>>
selenium的用法2
查看>>
ssm整合快速入门程序(二)
查看>>
this的使用方法
查看>>
我如何学习:开篇
查看>>
integer to roman leetcode c++实现
查看>>
C# 窗体位置 Show和ShowDialog(转)
查看>>
angularjs script 标签不能通过ng-include 加载
查看>>
session存放位置
查看>>
Spring4.0.3+Hiberbate4.3.5实现Mysql主从集群读写分离数据源组件
查看>>
C#反射应用-- 深圳精致抖友小群,质量的同学入群,限深圳地区(放几天我就删,管理别封我)...
查看>>
第十六课:一些奇葩的元素节点object,video
查看>>
Android基于TCP的局域网聊天通信
查看>>
RI走读记
查看>>