您的位置:首页 > 其它

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

2015-11-18 11:59 309 查看
转载: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’)对指定命名分组的递归引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: