分享

正则表达式的终极能力 - 递归

 duduwolf 2006-02-20

今天在QQ问liuzhi如何写一个匹配递归式的正则表达式时,没想到那家伙居然就回答“递归消除”,让我去看编译原理的书。(nnd,他肯定想到正则表达式的实现去了...)

找遍了正则表达式的语法都没发现和递归有关或者可以间接用来实现递归的,不过今天在硬盘找到一个电子书(只有一章),居然有讲解了这个。窃喜,记录之。

例子是:

\((?>[^()]+|\((?)|\)(?<-DEPTH>))*(?(DEPTH)(?!))\)

这个是匹配有效的最多括号的语法,比如: 

before (nope (yes (here) okay) after

匹配到的是:(yes (here) okay)

简单翻译了下这个文档:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多