【发布时间】:2013-07-07 03:16:05
【问题描述】:
我正在使用正则表达式来帮助我在本地化项目中过滤掉我不想翻译的 HTML。通常我使用</?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)/?>,但我正在翻译的内容在 HTML 中有转义字符,例如
<a href\="http\://www.fau.de/studium/zulassung/einschreibung/" target\="_blank" title\="Externer Link auf die Webseite der FAU">
有好心人能帮我弄清楚如何匹配包含斜杠的html标签吗?
【问题讨论】:
-
HTML不是一种常规语言。不要使用正则表达式来解析 HTML。使用 HtmlAgilityPack 或其他一些库。
-
你必须使用正则表达式吗?正则表达式不是 HTML 的最佳工具。查找 HTML 解析器。
-
在您的示例中,只有
=等号被转义。逃脱的字符还会藏在哪里?属性名称?属性值?元素标签名称? -
我知道我不应该用正则表达式解析 HTML。我使用 ´//g´ 来匹配我的文本中的所有 HTML 标签,这对我忽略此内容很有用。我对自己要做什么还不够清楚,但我从路上的其他帖子中学到了很多——我很抱歉。