zoukankan
html css js c++ java
正则表达式获取HTML标记中的内容。(注:如果内容中含有回车符,请查看第三个例子)
几个获取简单HTML标记间内容
//
=====================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========================
查看全文
相关阅读:
ASP.NET ValidationGroup 属性和CssClass 属性
sql 在将 nvarchar 值 转换成数据类型 int 时失败。
select 1 from table
OLEDB和ODBC的区别
ASP.NET 读数据库绑定到 TreeView 递归方式
用python做网页抓取与解析入门笔记[zz]
win8.1安装驱动出现“文件的哈希值不在指定的目录”的解决办法[zz]
Linux磁盘IO监控[zz]
硬盘内部硬件结构和工作原理详解[zz]
fcitx五笔的安装[zz]
原文地址:https://www.cnblogs.com/hanguoji/p/630560.html
最新文章
Mac OS X Yosemite 10.10 配置 Apache+PHP 教程注意事项
Zend Studio 12 windows 无限期试用
如何打开chrome中flash debug player
Python fabric实践操作
Python2.7 fabric理论学习
Java Web(十一) 分页功能的实现
Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用
Java Web(九) 用户管理系统
Java Web(八) MVC和三层架构
Java Web(七) JSTL标签库
热门文章
Java Web(六) EL表达式
Java Web(五) JSP详解(四大作用域九大内置对象等)
Java Web(四) 一次性验证码的代码实现
Java Web(三) 会话机制,Cookie和Session详解
Java Web(二) Servlet中response、request乱码问题解决
ASP.NET弹出提示点击确定之后再跳转页面的方法
aspx中如何加入javascript
html+javascript实现可拖动可提交的弹出层对话框效果
VS中的快捷键快速格式化代码,使好看,整齐
ASP.NET—013:实现带控件的弹出层(弹出框)
Copyright © 2011-2022 走看看