关闭

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

标签: 正则表达式递归
280人阅读 评论(0) 收藏 举报
分类:

转载: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’) 对指定命名分组的递归引用。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:135285次
    • 积分:2035
    • 等级:
    • 排名:第19558名
    • 原创:79篇
    • 转载:12篇
    • 译文:2篇
    • 评论:9条
    文章分类
    最新评论