一般来说,递归的正则表达式用来匹配任意嵌套层次的结构或左右对称的结构。例如匹配:
((((()))))
(hello (world) good (boy) bye)
hello world hello world
abc.def.ghij...stu.vwx.yz
abcdcba
123454321
递归正则在正则表达式里算是比较灵活的部分,换句话说就是可能会比较难。下面这个正则表达式是在网上流传的非常广泛的递归正则的示例,它用来匹配嵌套任意次数的括号,括号内可以有其它字符,比如可以匹配(a
下面这段子程基本上可以算是比较不错的通用匹配了。(PS:我突然发现CODE_LITE把我的UBB转义了!!!晕,我只好自己转义了。。。) Dim objRegExp,Matches,i,DC9_DOT_CN_MATCH Dim aryMatch() Redim Preserve aryMatch(0) Set objRegExp=New RegExp objRegExp.IgnoreCase =True objRegExp.Global=True objRegExp.Pattern=”(?:\[