首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript里的replace 函数,该如何解决

2013-09-05 
javascript里的replace 函数var tags /^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/ifunc

javascript里的replace 函数


        var tags =
                /^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i;
        function convert(html) {
            return html.replace(/(<(\w+)[^>]*?)\/>/g, function (all, front, tag) {
                return tags.test(tag) ?
                        all :
                        front + "></" + tag + ">";
            });
        }


第一,不太懂replace里的这个正则的意思。/(<(\w+)[^>]*?)\/>/  其中,*和? ,*应该是作用于[^>] ,而 ? 呢 ? 还有两个() ,捕获两次,还是 ?

第二,function里的传入参数的意思。 all -> 对replace里的正则,完全匹配的字符吧。frone 呢?(第一个括号里的捕获?)   tag呢?
[解决办法]
1 ?是最少匹配的意思 ()捕获第一次捕获里的东西
2 是关于捕获的信息的  第一个应该是满足正则的部分  第一个第一次捕获的内容  第二个  第二次捕获的内容  这个不是很清楚 

热点排行