如何使用正则表达式从javascript中的HTML标记中筛选字符串



我有一个解决方案,可以用regex从HTML标签中获取字符串,如下所示:

params.replace(/<[^>]*>/g, '');

上面的代码是当找到html标记时,它会替换为"。但如果我的原始字符串是<b>ppshein</b><span>male</span><u>javascript</u>,我想得到的是数组列表['ppshein', 'male', 'javascript']

请让我知道怎么做,谢谢。

我使用regex删除标记,然后将其拆分,然后清除空的

var string="<b>ppshein</b><span>male</span><u>javascript</u>";
var x=string.replace(/(<([^>]+)>)/ig, '[caps]').split("[caps]").filter(x=>x!="");
console.log(x);

试试这个。只需拆分并移除空的。

var string="<b>ppshein</b><span>male</span><u>javascript</u>";
var x=string.split(/<[^/].*?>(.*?)</.*?>/g).filter(x => (x != "")));
console.log(x);

最新更新