javascript 用正则表达式通配符替换

标签 javascript regex

我真的很难学习正则表达式。我试图找到所有跨度标签并删除任何 id 或类或任何其他信息并将它们从字符串中删除......并且惨败。

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);

最佳答案

正则表达式很有趣。我自己最近也在玩这个。 您想要选择跨度标签的开头并抓取直到标签结尾为止存在的所有内容。 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);

解释:.+?抓取任意 char (.) 的次数与 (+?) 的次数相同,直到到达标签末尾 (>)。如果没有问号,+ 将带走所有东西,而不是停止(贪婪)。不要忘记,因为您正在替换,所以要把 '' 标签放回去!

关于javascript 用正则表达式通配符替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35418203/

相关文章:

javascript - d3.v3.js 和整个 D3 存储库之间的区别

c# - 有没有一种使用正则表达式解析大文件的快速方法?

Javascript 正则表达式返回捕获组值

regex - 如何匹配除 "&&"之外的任何字符?

javascript - 正则表达式匹配部分单词,前面没有任何内容,但允许有空格

javascript - 使用 Meteor 时,我应该在 npm 前面加上 Meteor 前缀吗?

javascript - Fabricjs:用图像图案填充 svg

javascript - 保存nodejs的回调返回

JavaScript代码结构的最佳实践BP

php - 为什么\b 对于某些语言不能正常工作?