html - 使用正则表达式匿名化 html

标签 html regex anonymize

我正在尝试使用正则表达式为 SQL 查询匿名化 HTML 字符串。

https://regex101.com/r/QWt1E1/1

(?<!\<)[^<>\s](?!\>)
<p><em>Hi [User</em></p>
<p><em>Tack f&ouml;r visat intresse.</em></p>
<p><em>Good luck!</em><em>&nbsp;</em></p>
<p><em>Sincerely</em></p>
<p><em>nn nnnnn</nm></p>
<p><em>nnnn nnnnnnnn nnnnn nnnnnnnnn</nm></p>
<p><em>nnnn nnnnn</nm><em>nnnnnn</nm></p>
<p><em>nnnnnnnnn</nm></p>

计划是用 n 替换 <> 内的每个字符。 . 它几乎可以工作,但在我的示例中它替换了 e</em> .不确定为什么以及如何解决这个问题。

如何调整正则表达式以不替换 e在示例中?

最佳答案

[^<>]*> 的否定前瞻而不仅仅是 > , 以确保当前位置后面没有 >在任何其他尖括号之前(因为这表明您当前位于标签内)。

这也意味着你可以放弃lookbehind:

[^<>\s](?![^<>]*>)
          ^^^^^^

https://regex101.com/r/QWt1E1/3

不过,如果可能的话,最好使用 HTML 解析器来解析 HTML

关于html - 使用正则表达式匿名化 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56356602/

相关文章:

html - 下拉类删除后悬停不起作用

python - 如何在 re.sub 中索引组元素?

database - 匿名化您的应用程序数据库

ios - 如何出于 GDPR/RGPD 的目的对 iOS 版 Google Analytics 进行匿名化

r - 使用 R 在关系表中进行数据屏蔽

javascript - 如何添加一个 onchange 事件来选择标签并让选择标签也有使用 mithril.js 的兄弟选项

html - 将嵌入的 SVG 就地转换为 PNG

html - 输入字段偏移

mysql - 正则表达式到 mysql

java - 在正则表达式中查找第二次出现的模式