正则表达式删除特定值的 x-href

regex to remove x-hrefs of a certain value

本文关键字:x-href 删除 正则表达式      更新时间:2023-09-26

我正在从html字符串在页面上显示电子邮件。

某些 href 属性值给我带来了问题。 它们采用 x-msg://1726/ 的形式,例如它们可能如下所示:

<base href="x-msg://1726/">

我想用一个简单的#替换这个协议的所有href标签。

如何在正则表达式中指定要在与 x-msg 协议匹配的 href 属性上匹配并将其替换为空字符串或 # 符号?

我想在javascript中做到这一点。

使用 JavaScript,您可以使用替换中的分组来重用匹配的字符串。

str = str.replace(/(href=")x-msg:'/'/([^"]+)'//ig', '$1#$2');

雷伊

在您的示例中,结果将是 <base href="x-msg://1726/"> 。 如果您确信 x-msg 仅在 href 中,那么您当然可以通过从正则表达式中删除所有 html 标记来降低正则表达式的复杂性。 我也不知道 x-msg 是否可以包含字母数字字符,或者像您的示例中那样只包含数字字符。 最好使用与指定字符匹配的'd或集。

一个潜在的正则表达式是这样的:

/href ?= ?"x-msg:'/'/'d+'/"/

此处的示例:http://regex101.com/r/aJ5gZ6