【发布时间】:2009-05-12 15:32:49
【问题描述】:
我有以下正则表达式来匹配从我们的自定义 cms 生成的页面上的所有链接标签
<a\s+((?:(?:\w+\s*=\s*)(?:\w+|"[^"]*"|'[^']*'))*?\s*href\s*=\s*(?<url>\w+|"[^"]*"|'[^']*')(?:(?:\s+\w+\s*=\s*)(?:\w+|"[^"]*"|'[^']*'))*?)>.+?</a>
我们正在使用 c# 循环遍历所有匹配项,并在呈现页面内容之前为每个链接(用于跟踪软件)添加一个 onclick 事件。 我需要解析链接并向 onclick 函数添加一个参数,即“链接名称”。
我打算修改正则表达式以获得以下子组
- 链接的标题属性
- 如果链接包含图像标签,请获取 图片的替代文字
- 链接的文字
然后我可以检查每个子组的匹配以获取链接的相关名称。
我将如何修改上述正则表达式来做到这一点,或者我可以使用 c# 代码实现相同的想法吗?
【问题讨论】:
-
您正在使用 ASP.NET 生成此页面?
-
能否请一些好心的模组在某个时候将此添加到常见问题解答中?
-
是的,我正在使用 ASP.NET 生成页面