一个js正则表达式的问题? 财富值52

2016-10-17 20:30发布

var rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([w:]+)[^>]*)/>/gi; var value="<div/>"; value = value.replace( rxhtmlTag, "<$1></$2>" ); console.log(value);

这段代码的输出结果为:

<div></div>

为什么呢?看不懂代码,求javascript高手指点一下。

3条回答
丘比特 - 这个人很懒,什么都没留下
1楼 · 2016-10-17 21:10.采纳回答

下面详细说明正则表达式含义。

卧槽这推送。。。。我已经在群里回答你了啊。。。。

(这段正则表达式怎么那么像jQuery源码中的呢?)
这个正则表达式的目的是将自闭合形式的标签修改成起始标签相应出现的形式。
即把"<div/>"修改成"<div></div>",
把"<div data-name=xxx/>"修改成"<div data-name=xxx></div>"的形式。

一周热门 更多>