从字符串中删除未引用的属性

时间:2018-10-24 01:45:53

标签: javascript regex

当文本包含以下内容时,解析dom元素时出现问题。我想从使用Javascript的实际内容中删除高亮文本。你能帮我这个忙吗?我想依靠正则表达式。

我知道如何使用标准的字符串函数以及dom解析器来获取带引号的属性。

对于如下所示的节点,使用字符串函数(例如replace)可能会起作用,但我需要遍历整个字符串。这是性能问题。

所以我想使用正则表达式在节点中查找此类属性。

    <p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l0 level1 lfo1'>

在上面的示例中,我想删除类属性,并且类名称可以是任何东西。这些节点是从MS word生成的,不在我的控制范围内。

编辑:以下是我用来搜索未加引号的文本的模式。但这不起作用

var pattern = /<p class=\s*=\s*([^" >]+)/im

1 个答案:

答案 0 :(得分:1)

Regex101 Example

正则表达式:
\S+?=[^'"]\S*[^'"\s]

与此有关的棘手部分是找到未加引号的属性的结尾,在此示例中,我假设它将不包含任何空格字符,因此我可以使用第一次出现的空格来终止匹配