DEELX 正则表达式扩展语法:递归表达式

转载 2015年11月18日 11:59:13

转载:http://www.regexlab.com/zh/deelx/syntax/ext_recs.htm

递归表达式 (?R)
对另一部分子表达式的引用,而不是对其匹配结果的引用。当被引用的表达式包含自身,则形成递归引用。


说明
相对于 “反向引用” 来说,反向引用是在匹配过程中,对匹配到的字符串内容进行引用,而 “递归匹配” 是对表达式进行引用。举例说明:

表达式 等效的表达式1 等效的表达式2 可以匹配
(\w)(?1) (\w)(\w) ab
(?1)(\w(?2))(\d) (?1)(\w(\d))(\d) (\w(\d))(\w(\d))(\d) a1b23

如果被引用的表达式又包含自身,则形成了递归引用。举例说明:

表达式 等效1 等效2 可以匹配
(\w(?1)?) (\w(\w(?1)?)?) (\w+) ghjk5……
(([^()] (?R))*) (([^()] (([^()]

DEELX 支持的递归表达式格式有:

格式 说明
(?R) 对整个表达式的递归引用。
(?R1),(?R2) 对指定分组的递归引用。
(?1),(?2) 对指定分组的递归引用。
(?R) 对指定命名分组的递归引用。
(?R’named’) 对指定命名分组的递归引用。

理解正则表达式中的(?R)递归

先来个最简单的正则表达式递归 字符串 :abc123dsf654wre485wer652 传统作法:\w{3}\d{3}\w{3}\d{3}\w{3}\d{3}\w{3}\d{3} 递归做...
  • technofiend
  • technofiend
  • 2015年11月18日 14:32
  • 642

正则表达式原理及引擎简化递归实现

转载请注明作者:phylips@bmy 出处:http://duanple.blog.163.com/blog/static/7097176720098303134160/   概述 ...
  • Bluesilence
  • Bluesilence
  • 2014年09月17日 21:39
  • 1116

Python基础--正则表达式基本语法以及re模块

正则是个很牛逼的东西,python中当然也不会缺少。所以今天的Python就跟大家一起讨论一下python中的re模块。re模块包含对正则表达式的支持。什么是正则: 正则表达式是可以匹配文本片段的模...
  • wangshubo1989
  • wangshubo1989
  • 2016年03月23日 21:32
  • 9096

正则表达式 In Java

java里没有类似python的search 函数 怎样得到matched的字符串? group find/matched判断是否matched. Difference betwee...
  • u011279649
  • u011279649
  • 2017年04月05日 15:13
  • 511

deelx.h 正则表达式

// deelx.h // // DEELX Regular Expression Engine (v1.2) // // Copyright 2006 (c) RegExLab.com // All...
  • hatemonday
  • hatemonday
  • 2011年11月21日 16:11
  • 584

shell学习第八天----扩展正则表达式(ERE)

扩展正则表达式(ERE) 拥有笔记本正则表达式更多的功能.BRE与ERE在大多数的meta字符与功能应用上几乎是完全一致,单ERE理由写meta字符看起来与BRE类似,却具有完全不同的类型.   ...
  • shanyongxu
  • shanyongxu
  • 2015年06月11日 12:21
  • 1089

ES6学习——正则表达式新特性

简单说一下正则表达式中新加入的特性: 1)flags属性: /abc/ig.flags//gi 2)/u unicode标记,Chrome 48都还不支持这个标记 /\uD83D/.test(...
  • kittyjie
  • kittyjie
  • 2016年02月05日 09:36
  • 1517

微软的正则表达式教程(四):限定符和定位符

限定符 有时候不知道要匹配多少字符。为了能适应这种不确定性,正则表达式支持限定符的概念。这些限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。 下表给出了各种限定符及其含义的说明: ...
  • laily
  • laily
  • 2004年06月30日 14:03
  • 14728

vb.net正则表达式快速入门(3)完

作者:lzmtw   10.选择符 正则表达式中“ ¦”表示选择。 你可以用选择符匹配多个可能的正则表达式中的一个。如果你想搜索文字“cat”或“dog”,你可以用 > 。如果...
  • dzweather
  • dzweather
  • 2015年01月17日 16:28
  • 1378

算法学习——栈的应用之逆波兰(后缀)表达式转换

已知一组中缀表达式,求其后主表达式 例:      中缀表达式:(1+2)*3+(4+6)*(5*6)+7      后缀表达式:1 2+3*4 6+5 6** +7+ 求解此问题通常有两种方...
  • lionelluthor
  • lionelluthor
  • 2018年01月22日 00:23
  • 46
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DEELX 正则表达式扩展语法:递归表达式
举报原因:
原因补充:

(最多只允许输入30个字)