相关文章推荐
瘦瘦的海豚  ·  嵌套数组和map的json文件如何解析?开发者社区·  1 月前    · 
笑点低的肉夹馍  ·  hive解析json嵌套数组_mob64ca ...·  1 月前    · 
活泼的钱包  ·  江河水域污染排查收明显成效 ...·  11 月前    · 
坚强的梨子  ·  国粹京剧在河南话谈_百科TA说·  11 月前    · 
安静的便当  ·  如何利用SQL插入空白列_vba ...·  11 月前    · 
慷慨大方的跑步机  ·  使用ffmpeg调试宏块和运动向量_ffmp ...·  11 月前    · 
满身肌肉的火柴  ·  中华人民共和国兵役法 - 中华人民共和国国防部·  1 年前    · 
Code  ›  正则表达式,嵌套的分组 -
正则表达式 嵌套
https://segmentfault.com/q/1010000010853864
爱逃课的骆驼
1 年前
segmentfault segmentfault
注册登录
问答 博客 标签 活动
发现
✓ 使用“Bing”搜本站 使用“Google”搜本站 使用“百度”搜本站 站内搜索
注册登录
  1. 首页
  2. 问答
  3. 正则表达式
  4. 问答详情

正则表达式,嵌套的分组

头像
Charles
640 3 26 35
发布于
2017-08-25

(\d+)(.)(\d+)
我知道这样的分组,每一个分组有一个序号 \1\2\3 , \0 是整个匹配

但是如果分组里有分组,又是怎样命名的呢
比如 (\s([a-z]+)\s)\d+

这里的 ([a-z]+) 是如何命名的,或者说我要如何取得这个分组

正则表达式
阅读 9.2k
2 个回答
得票 最新
头像
遗忘的晨曦丶_
427 2 8
发布于
2017-08-25
更新于
2017-08-25
✓ 已被采纳
\1 \2用于正则表达式里面的构建,$1 $2用于捕获后,callback里面使用。(没有\0这个东西吧?忘了)

可以这样,外围不需要的分组,使用非捕获符号 ?: ,这样 $1 $2 就是你需要的捕获了。

(?:\s([a-z]+)\s)\d+

另外 ([a-z]+) 指捕获由 a到z 组成的多个字符串,至少有一个字符;同理,捕获到了,就可以在match等方法的返回中可以找到对应的捕获。

头像
Petu
55 1 3 7
发布于
2017-08-25
更新于
2017-08-25

正则的分组嵌套,个人认为,主要是理解其层级关系。
而,'\1\2\3'...,此类,就是反向引用了。
具体的你可以进入这个网址(某大神整理),耐心的看一遍,相信你会很有收获, http://blog.csdn.net/zgrkaka/...

那对于你给出的,(s([a-z]+)s)d+,其实就是两层的括号嵌套,也就只需要 \1\2 就能全部匹配出来
\1,会匹配第一个括号(分组)的内容,即,s([a-z]+)s
\2,会匹配第二个括号(分组)的内容,即,[a-z]+
\1\2\3、、、,即反向引用,其规则,我现在的理解是:由左向右,有外向内
想要获取值的话,可以使用,构造函数的全局属性 $1 至 $9 来获取

var string = ' abc 123 abc abc';
 
推荐文章
瘦瘦的海豚  ·  嵌套数组和map的json文件如何解析?开发者社区
1 月前
笑点低的肉夹馍  ·  hive解析json嵌套数组_mob64ca12f55920的技术博客_
1 月前
活泼的钱包  ·  江河水域污染排查收明显成效 潘岳要求依法追究污染责任人行政责任_中华人民共和国生态环境部
11 月前
坚强的梨子  ·  国粹京剧在河南话谈_百科TA说
11 月前
安静的便当  ·  如何利用SQL插入空白列_vba sql提取时插入空字段列-CSDN博客
11 月前
慷慨大方的跑步机  ·  使用ffmpeg调试宏块和运动向量_ffmpeg 宏块qp差值-CSDN博客
11 月前
满身肌肉的火柴  ·  中华人民共和国兵役法 - 中华人民共和国国防部
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号