匹配html中的A标签
<[aA]\s+((\w+\s*=\s*("([^"]*)"|'([^']*)'|([^'">\s]+))\s+)*)(href\s*=\s*("([^"]*)"|'([^']*)'|([^'">\s]+)))((\s+\w+\s*=\s*("([^"]*)"|'([^']*)'|([^'">\s]+)))*)\s*>(.*?)</[aA]\s*>
替换其中的链接到统计页面再跳转到真正的链接地址
protected void Unnamed1_Click(object sender, EventArgs e)
{
//正则
Regex reg = new Regex("<[aA]\\s+((\\w+\\s*=\\s*(\"([^\"]*)\"|'([^']*)'|([^'\">\\s]+))\\s+)*)(href\\s*=\\s*(\"([^\"]*)\"|'([^']*)'|([^'\">\\s]+)))((\\s+\\w+\\s*=\\s*(\"([^\"]*)\"|'([^']*)'|([^'\">\\s]+)))*)\\s*>(.*?)</[aA]\\s*>");
//输入内容
string matchStr = TextBox1.Text;
//此处可以完成任务(利用委托)
MatchEvaluator myEvaluator = new MatchEvaluator(ReplaceCC);
string aaa = reg.Replace(matchStr, myEvaluator);
//最后结果
Response.Write(aaa);
}
//在这里单独处理每一个匹配项
public string ReplaceCC(Match m)
{
string temp = m.Groups[9].Value + m.Groups[10].Value + m.Groups[11].Value;
string g18 = m.Groups[18].Value;
temp = "http://www.biaodashi.com?projectid=00000&userid=1111111&url=" + temp;
return "<a " + m.Groups[1].Value + " href=\" " + temp + "\" " + m.Groups[12].Value + ">" + g18 + "</><br/>";
}
实例:
http://dl.iteye.com/topics/download/41e998cf-b147-3236-9c7e-c9573924b375
分享到:
相关推荐
正则表达式是一种模式匹配语言,可以用来在字符串中查找、替换或者捕获特定模式。 首先,我们来理解一下`<img>`标签的基本结构。一个标准的`<img>`标签通常如下所示: ```html 图像URL" alt="替代文本" width=...
`g`标志表示全局匹配,确保替换所有符合条件的空格。 替换操作对于某些特定场景尤其有用,比如在显示代码片段、诗歌、表格或者任何需要保持原始格式的地方。同时,这也是一种避免用户输入的空格在渲染时丢失的方法...
在处理HTML文档时,经常会遇到需要从HTML代码中提取特定信息的情况,比如从一段字符串中匹配`<div>`和`<style>`标签。 在进行正则表达式匹配时,需要构建能够正确描述目标模式的正则表达式。对于`<div>`和`<style>`...
不影响标签属性的简易正则替换html字符串中的文字(原理为使用正则取出html中><之间的内容 然后使用循环从其中匹配对应的内容进行替换)
- 第三个参数为空字符串`""`,表示将匹配到的所有HTML标签替换为空,即移除它们。 4. **返回值**: - 最终返回的是经过处理后的字符串`strTmp`。 #### 示例 假设我们有一个包含HTML标签的字符串: ```csharp ...
`matcher.replaceAll("")`将所有匹配的A标签替换为空字符串,从而删除它们。 请注意,这种方法可能不适用于复杂的HTML,例如当A标签有内联样式或事件处理器时。在这种情况下,可能需要使用更复杂的解析器,如Jsoup...
这段代码使用了正则表达式`/<[^>]+>/g`来匹配所有的HTML标签并将其替换为空字符串。其中,`和`>`分别代表HTML标签的开始和结束符号,`[^>]+`表示任何非`>`的字符,`g`标志表示全局匹配,即匹配所有符合条件的部分。...
在Java编程语言中,处理HTML标签是常见的需求,特别是在数据清洗、文本提取或者邮件处理等场景。本篇文章将深入探讨如何使用Java中的`String`类提供的`replaceAll()`方法来替换HTML标签。 首先,我们来看一下给出的...
在这个函数中,我们创建了一个正则表达式对象,并设置了匹配HTML标签的模式。然后,我们调用`Replace()`方法执行替换操作。这个例子中,`oldTag`是待替换的标签名,`newTag`是新标签名,而`html`是包含HTML内容的...
需要注意的是,正则表达式匹配HTML内容可能存在一些问题,例如HTML标签属性的复杂性、标签嵌套、标签属性值内可能包含尖括号等问题可能会导致正则表达式的匹配结果不准确。因此,当处理复杂的HTML文档时,使用专门的...
根据提供的文件信息,本文将详细解释C#中用于过滤HTML标签的几种方法,并对每一步进行深入解析。此过程涉及正则表达式、字符串替换以及HTML实体编码转换等技术细节。 ### C#过滤HTML标签的方法 #### 方法一:使用...
总结一下,将HTML文本中所有标签替换掉的方法主要依赖于正则表达式和Java的字符串处理。通过灵活调整正则表达式,我们可以根据需求选择性地去除特定类型的标签。然而,对于复杂的HTML处理,推荐使用专门的HTML解析库...
此方法的目标是移除这个字符串中的所有HTML标签,并返回一个只包含文本内容的新字符串。 #### 正则表达式解析 实现的核心在于正则表达式的使用:`replaceAll("\\*?>","")`。这里的关键点包括: - `\\和 `\\>` 分别...
这里使用了一个简单的正则表达式`<[^>]*>`来匹配并移除所有的HTML标签。下面我们来详细解析这个正则表达式的含义: 1. `匹配一个小于号。 2. `[^>]`:匹配除了大于号(`>`)之外的任意字符。 3. `*`:表示前面的...
最后,所有匹配到的中文字符会被添加到`StringBuilder`对象`character`中并返回。 在`main`方法中,我们调用了`matchChineseCharacters`方法,传入了一个包含多个`<a>`标签的字符串,输出了满足条件的中文字符。 ...
在网页开发中,HTML是构建页面结构的基础,但有时由于编码错误或疏忽,开发者可能会遗漏某些HTML标签的闭合,导致页面显示不正常。PHP作为一种服务器端脚本语言,常用于处理动态网页内容,因此编写一个PHP函数来检查...
正则表达式是一种字符串匹配模式,可以用来匹配Html标签。例如,下面的正则表达式可以匹配script标签: `String regEx_script = "<[//s]*?script[^>]*?>[//s//S]*?<[//s]*?///[//s]*?script[//s]*?>";` 这个正则...