我有一些HTML文字。当我显示我想突出显示一些关键字。如果这是html标签或任何特殊字符(如
)的一部分,我不想匹配例如: 我的HTML文字:您好欢迎来到我的160号水疗中心
我的关键词:spa 160
突出显示我使用关键字
但现在它匹配标签内的spa和160特殊字符
内的spa如何克服这个...... ???我使用C#RegEx。
我需要一个与关键字匹配但不在标签或特殊字符中的RegEx。
答案 0 :(得分:1)
使用正则表达式无法克服这个问题,正则表达式不是为此而做的,你可以做的是使用一些Xml Parser(因为HTLM是基于Xml的),提取你需要的东西,然后通过进一步的操作正则表达式和其他工具。
要突出显示关键字,操作,特殊字符等,您可以使用某些语法生成工具(如GoldParser)创建解析器,然后使用visitor pattern可以实现突出显示和许多其他操作,
但请记住,Html相当复杂,你会很难为它编写语法,因此我建议你使用现有的Xml Parsing工具。搜索网络你会发现很多,选择你最需要的套房。看看Html Agility Pack