【问题标题】:Remove unquoted attribute from string [duplicate]从字符串中删除不带引号的属性[重复]
【发布时间】:2019-03-28 08:08:40
【问题描述】:

当文本包含如下内容时,我在解析 dom 元素时遇到问题。我想从实际使用 Javascript 中删除突出显示的文本。你能帮我解决这个问题吗?我想依赖正则表达式。

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

对于像下面这样的节点,使用诸如替换之类的字符串函数,切片可能会起作用,但我需要遍历整个字符串。这是性能问题。

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

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

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

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

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

【问题讨论】:

标签: javascript regex


【解决方案1】:

Regex101 Example

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

这个棘手的部分是找到未引用属性的结尾,在这个例子中我假设它不会包含任何空格字符,所以我可以使用第一次出现的空格来终止匹配

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2020-11-21
    相关资源
    最近更新 更多