日期:2014-05-16 浏览次数:20315 次
function myfun(){ var var1=10; var var2="123{456}"; var var3=function myfun1(){ var invar1=12; } var var4=function myfun2(){ var invar2=13; } }
------解决方案--------------------
正则中的平衡组其实就是栈的一种应用
理解了原理,虽然实现起来麻烦些,还是可以自己去写方法来实现这一功能的
嵌套结构,可以划分为三类:
1、起始标志
2、结束标志
3、除此之外的其它子串
记录一个位置,从这个位置开始遍历字符串,最初是从字符串起始位置开始的
遇到起始标志入栈,遇到结束标志出栈,在到达字符结尾或是栈中没有元素时仍要出栈操作时停止,判断匹配是否成功,如果栈不为空,则匹配失败,如果栈为空,则匹配成功
如果上述步骤匹配失败,则从第一个起始标志后开始下一轮匹配,如果上述步骤匹配成功,则从匹配结束位置开始下一轮匹配
http://blog.csdn.net/lxcnn/article/details/4402808