我记得早前有同事问, 正则是否能处理括号配对的正则匹配.
比如, 对于如下的待匹配的字符串:
((()))
就是一个括号配对的字符串. 而对于如下的待匹配字符串:
((()
则不是一个括号配对的字符串.
在以前, 这种情况, 正则无法处理, 最多只能处理固定层数的递归, 而无法处理无线递归的情况… 而在perl 5.6以后, 引入了一个新的特性: Recursive patterns, 使得这种需求可以被正确的处理.
1. 关于事件处理函数引用的一个佐证
2. Javascript正则的效率问题
yuchen网友发来一个问题, 大体意思就是在JS中, 同样的正则, 同样的字符串, 循环匹配结果却不一样 ,
<script type='text/javascript'>
var reTest = /^aid=(.*)/ig;
var aData = [ 'aid=^$', 'aid=^$', 'aid=^$', 'aid=^$' ];
for (var i=0, l=aData.length; i<l; i++) {
alert(reTest.test(aData[i]));
}
</script>
结果却是:
true false true false
为什么会这样呢?