正则表达式获取HTML标记中的内容(C#)
来源:互联网 发布:mac terminal 游戏 编辑:程序博客网 时间:2024/06/07 21:59
正则表达式获取HTML标记中的内容(C#)
//=====================Begin1========================
//试验字符串
string strTmp = string.Empty;
//正则表达式
string tmpStr = string.Empty;
//取出指定HTML标记中的匹配项的值RegexOptions.IgnoreCase忽略大小写,RegexOptions.Multiline忽略多行显示,
//tmpStr = "<title>([^<]*)</title>" //获取<title>之间内容
strTmp = @"<add key='ConnectionString' value='server=localhost;database=数据库名;uid=sa;pwd=;pooling=true'/>";
//获取“database=”与“;”号之间的字符串:database=(.*);
tmpStr = "database=([^;]*);";
Match TitleMatch = Regex.Match(strTmp, tmpStr ,RegexOptions.IgnoreCase | RegexOptions.Multiline );
//如下例子作语法参考用获取size的值,实际应用可能不会如此复杂
strTmp = "><font color='red' size=6>WebForm3</font><" ;
tmpStr = @"<(w+s+w+[=]+[']+w+[']+s+[size=]+d)>";
Match TitleMatch = Regex.Match(strTmp ,tmpStr , RegexOptions.IgnoreCase | RegexOptions.Multiline );
//取出匹配项的值
string tmpStrTitle = TitleMatch.Groups[1].Value;
//替换掉HTML页中所有HTML标记
Label1.Text=Regex.Replace(Label1.Text.Trim(),"<.+?>","")+"*********"+TitleMatch.Groups[1].Value;
//判断匹配正则表达式是否成功
if(Regex.Match(tmpStr,"<.+?>").Success)
...{
//操作
}
//=====================End1========================
//=====================Begin2========================
string webDocContent="<a href=http://www.xxx.xxx/college/pages/default.htm target=_blank>师资队伍</A>";
//解释下面正则表达式:[s]表示匹配空格字符,"+" 表示连接
string strPattern=@"a[s]+href=(?<Link>[^s>]+)[^>]*>(?<Text>[^<]*)</a>";
//获取链接显示的文字
MatchCollection Matches=Regex.Matches(webDocContent,strPattern,RegexOptions.IgnoreCase|RegexOptions.Compiled);
foreach(Match NextMatch in Matches)
...{
string URL=NextMatch.Groups["Link"].Value.ToString().Trim();
string URLText=NextMatch.Groups["Text"].Value.ToString().Trim();
Response.Write(URL+"****");
Response.Write(URLText);
}
//=====================End2========================
//=====================Begin3========================
string strPageContent = string.Empty;
StreamReader srPage = new StreamReader(@"e:save.txt",System.Text.Encoding.GetEncoding("gb2312"));
strPageContent = srPage.ReadToEnd();
srPage.Close();
//(/s)*表示0或多个空格符、回车符等,*表示比配0或多个。(.*?)表示除回车符外的所有信息
MatchCollection TitleMatchs = Regex.Matches(strPageContent, "<td width="85%" class="common_text">((/s)*(.*?)(/s)*(.*?)(/s)*(.*?)(/s)*(.*?)(/s)*)</td>", RegexOptions.IgnoreCase | RegexOptions.Multiline );
int tmpNum = 0;
//循环正则表达式所获取的,满足表达式的内容集合
foreach(Match NextMatch in TitleMatchs)
...{
++tmpNum;
Label1.Text += tmpNum + "<br>****" + NextMatch.Groups[1].Value;
}
//=====================End3========================
//试验字符串
string strTmp = string.Empty;
//正则表达式
string tmpStr = string.Empty;
//取出指定HTML标记中的匹配项的值RegexOptions.IgnoreCase忽略大小写,RegexOptions.Multiline忽略多行显示,
//tmpStr = "<title>([^<]*)</title>" //获取<title>之间内容
strTmp = @"<add key='ConnectionString' value='server=localhost;database=数据库名;uid=sa;pwd=;pooling=true'/>";
//获取“database=”与“;”号之间的字符串:database=(.*);
tmpStr = "database=([^;]*);";
Match TitleMatch = Regex.Match(strTmp, tmpStr ,RegexOptions.IgnoreCase | RegexOptions.Multiline );
//如下例子作语法参考用获取size的值,实际应用可能不会如此复杂
strTmp = "><font color='red' size=6>WebForm3</font><" ;
tmpStr = @"<(w+s+w+[=]+[']+w+[']+s+[size=]+d)>";
Match TitleMatch = Regex.Match(strTmp ,tmpStr , RegexOptions.IgnoreCase | RegexOptions.Multiline );
//取出匹配项的值
string tmpStrTitle = TitleMatch.Groups[1].Value;
//替换掉HTML页中所有HTML标记
Label1.Text=Regex.Replace(Label1.Text.Trim(),"<.+?>","")+"*********"+TitleMatch.Groups[1].Value;
//判断匹配正则表达式是否成功
if(Regex.Match(tmpStr,"<.+?>").Success)
...{
//操作
}
//=====================End1========================
//=====================Begin2========================
string webDocContent="<a href=http://www.xxx.xxx/college/pages/default.htm target=_blank>师资队伍</A>";
//解释下面正则表达式:[s]表示匹配空格字符,"+" 表示连接
string strPattern=@"a[s]+href=(?<Link>[^s>]+)[^>]*>(?<Text>[^<]*)</a>";
//获取链接显示的文字
MatchCollection Matches=Regex.Matches(webDocContent,strPattern,RegexOptions.IgnoreCase|RegexOptions.Compiled);
foreach(Match NextMatch in Matches)
...{
string URL=NextMatch.Groups["Link"].Value.ToString().Trim();
string URLText=NextMatch.Groups["Text"].Value.ToString().Trim();
Response.Write(URL+"****");
Response.Write(URLText);
}
//=====================End2========================
//=====================Begin3========================
string strPageContent = string.Empty;
StreamReader srPage = new StreamReader(@"e:save.txt",System.Text.Encoding.GetEncoding("gb2312"));
strPageContent = srPage.ReadToEnd();
srPage.Close();
//(/s)*表示0或多个空格符、回车符等,*表示比配0或多个。(.*?)表示除回车符外的所有信息
MatchCollection TitleMatchs = Regex.Matches(strPageContent, "<td width="85%" class="common_text">((/s)*(.*?)(/s)*(.*?)(/s)*(.*?)(/s)*(.*?)(/s)*)</td>", RegexOptions.IgnoreCase | RegexOptions.Multiline );
int tmpNum = 0;
//循环正则表达式所获取的,满足表达式的内容集合
foreach(Match NextMatch in TitleMatchs)
...{
++tmpNum;
Label1.Text += tmpNum + "<br>****" + NextMatch.Groups[1].Value;
}
//=====================End3========================
- 正则表达式获取HTML标记中的内容(C#)
- 正则表达式获取HTML标记中的内容(C#)
- 正则表达式获取HTML标记中的内容(C#)
- 正则表达式获取HTML标记innerHTML
- 如何使用正则表达式删除html语言中的html标记
- 正则表达式获取两个标记之间的所有html
- [原创代码]用正则表达式剔除文本中的HTML标记
- 用正则表达式剔除文本中的HTML标记
- asp.net 获取HTML meta标记中的内容
- 获取html 中的所有图片 正则表达式
- C# 去掉HTML标记的正则表达式
- Java 正则表达式去除HTML标记
- 正则表达式 去除相应HTML 标记
- 正则表达式匹配HTML标签或标记
- 正则表达式匹配HTML内容
- 正则表达式提取html内容
- js过滤(去除)富文本编辑器中的html标签和换行回车等标记的正则表达式
- JS过滤(去除)富文本编辑器中的HTML标签和换行回车等标记的正则表达式
- 冒泡排序
- 有符号和无符号如何进行比较
- 匹配
- Windows下动态内存分配方式
- HTTP协议的作用原理
- 正则表达式获取HTML标记中的内容(C#)
- 二进制数据读取
- 关于获取u盘,移动硬盘设备信息的问题
- 透过汇编另眼看世界之函数调用
- 为什么要用DTable asp.net服务器控件?
- 老调重弹——你存储的密码做Hash了吗?
- C++类对象创建过程揭密
- 谁复留君住
- 一次有意义的面向对象设计尝试