【问题标题】:Regex match a character that's not part of word in string正则表达式匹配不属于字符串中单词的字符
【发布时间】:2021-03-09 01:05:11
【问题描述】:

在 JS 中使用 Regex 我试图匹配所有不属于特定 HTML 元素的 <>。在下面的示例中,我尝试排除与 关联的那些,但我当前的表达式仍然与元素末尾的 > 匹配。

如何排除元素的结尾>?

当前表达式:

 /(?!<\/?sup>)[<>]/gi

【问题讨论】:

  • Regex 不是解析 HTML 的正确工具。最好使用原生 JS 或 jQuery 直接检查 DOM。

标签: javascript regex


【解决方案1】:

快到了;特殊标签可以出现在标签之前或之后,例如使用(Demo):

(?<!sup)[<>](?!\/?sup)

或者如果你想让它更具可读性:&lt;(?!\/?sup)|(?&lt;!\/?sup)&gt; 我们可以使用所有格量词来优化它;不幸的是,JS 不支持它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2011-12-13
    • 2016-12-06
    • 2014-07-09
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多