2016-02-15 99 views
1

我真的在努力学习正则表达式。我试图找到所有的span标签,并删除任何id或类或任何其他信息,并将其从字符串中删除....并失败悲惨。javascript替换为正则表达式wilcard

var str = '<span class="red" id="num1">foo</span>words<span class="blue">bar</span>'; 
//What I want to end up with '<span>foo</span>words<span>bar</span>'; 
str = str.replace(/<span+([*])+\>/g, ''); 
console.log(str); 
+0

请编辑您的问题,并添加相关信息回... – brso05

+0

我编辑的问题 –

回答

3

正则表达式很有趣。最近我一直在玩弄它。 您想要选择一个span标签的开始并抓取所有存在的标签直到标签结束。 JSFiddle

var str = '<span class="red" id="num1">foo</span>words<span class="blue">bar</span>'; 
str = str.replace(/<span.+?\>/g, '<span>'); 
console.log(str); 

解释:。+?抓取任何字符(。)的次数(+?),直到它到达标签的末尾(>)。如果没有问号,+会采取一切行动,而不是停止(贪婪)。不要忘记,因为你正在取代,把''标签放回去!

+0

哇,我的路要走....也许有一天我会明白正则表达式 –

+0

哈哈无后顾之忧,以及一些有用的链接帮助:[正则表达式测试器](https://regex101.com/),您可以使用它来测试您的正则表达式,以查看它们是否与您想要的匹配。 [正则表达式信息](http://www.regular-expressions.info/)这一个有你想要的和更多的正则表达式。我最近在这里度过了很多时间,并且学到了很多东西。 –