我有一些 HTML 文本。当我显示我想突出显示一些关键字时。如果那是 html 标签的一部分或任何特殊字符,我不想匹配
例如:我的 HTML 文本:您好,欢迎来到我的 160 号水疗中心
我的关键词:水疗中心 160
为了突出显示我使用关键字
但现在它匹配标签内的 spa 和特殊字符内的 160
如何克服这个...???我使用 C# 正则表达式。
我需要一个匹配关键字但不在标签或特殊字符中的正则表达式。
您无法使用正则表达式来克服这个问题,正则表达式不是为此而设计的,您可以做的是使用一些 Xml 解析器(因为 HTLM 是基于 Xml 的),提取您需要的内容,然后通过正则表达式进行进一步操作和其他工具。
对于高亮关键字、操作、特殊字符等,您可以使用一些语法生成工具(如GoldParser )创建一个解析器,然后使用访问者模式您可以实现高亮和许多其他操作,
但请记住 Html 相当复杂,为它编写语法会很头疼,因此我建议您使用现有的 Xml Parsing 工具。在网上搜索你会发现很多,选择你最需要的套件。看看Html 敏捷包