She*_*eff 0 .net html c# regex
我有以下正则表达式匹配从我们的自定义cms生成的页面上的所有链接标记
<a\s+((?:(?:\w+\s*=\s*)(?:\w+|"[^"]*"|'[^']*'))*?\s*href\s*=\s*(?<url>\w+|"[^"]*"|'[^']*')(?:(?:\s+\w+\s*=\s*)(?:\w+|"[^"]*"|'[^']*'))*?)>.+?</a>
Run Code Online (Sandbox Code Playgroud)
我们使用c#循环遍历所有匹配项,并在呈现页面内容之前为每个链接添加onclick事件(用于跟踪软件).我需要解析链接并向onclick函数添加一个参数,即"链接名称".
我打算修改正则表达式以获得以下子组
然后,我可以检查每个子组的匹配,以获取链接的相关名称.
我如何修改上述正则表达式来执行此操作,还是可以使用c#代码实现相同的思路?
正则表达式在解析HTML方面基本上是不好的(参见你能提供一些为什么难以用正则表达式解析XML和HTML的例子吗?).你需要的是一个HTML解析器.请参阅您是否提供了使用您喜欢的解析器解析HTML的示例?例如,使用各种解析器.
特别是您可能对HTMLAgilityPack答案感兴趣.
| 归档时间: |
|
| 查看次数: |
6747 次 |
| 最近记录: |