当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > 正则表达式

正则表达式
能说明一下GETROWS的用法吗?
用正则表达式过滤html代码
ubb js
正则表达式在javascript中的几个实例
简单的Html转换UBB的程序
求个简单正则
JScript中正则表达式用法详解
文本框输入限制 [大全]
UBB代码在论坛中的应用
论坛UBB代码 推荐
将 html 转成 ubb代码的小脚本
正则表达式 c#
验证注册用户名必须为字母
自动识别HTML的标记 替换连接
正则限制文本输入
取字和字符的长度
JavaScript中的正则表达式解析
关于表格的正则表达式讨论(表格)
Html转换UBB程序
得到连接和图片的地址 正则

正则表达式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 36 ::
收藏到网摘: n/a

我们要解析一个HTML文档时可利用正则表达式取得标签内容
例子:
以从字符串中取出所有A标签的 id号和内容为例:
<a id="1" target="_blank">aaaaaaaaaa</a>
正则表达式:
<a[^<]*id[^<]*=[^<]*"(?<ID>[^<]*)"[^<]*target[^<]*=[^<]*"[^<]*_blank[^<]*" [^<]*>(?<content>[^<]*)</a>
正则分解:
[^<]* 是一个很有用的组合,能定位到下一个查询关键字
(?<ID>[^<]*) 用于取得一个或者多个值直到遇到下一个关键字
<ID> 类似一个正则的变量,给用()号取得的内容进行标识,以便于程序的调用
C#调用的例子:
string strRegex=@"<a[^<]*id[^<]*=[^<]*"(?<ID>[^<]*)"[^<]*target[^<]*=[^<]*"[^<]*_blank[^<]*" [^<]*>(?<CONTENT>[^<]*)</a>";
string strSource="<a id=\"1\" target=\"_blank\">aaaaaaaaaa</a>"
System.Text.RegularExpressions.Regex r;
System.Text.RegularExpressions.MatchCollection m;
mc= new System.Text.RegularExpressions.Regex(strRegex, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
ro = mc.Matches(strSource);
if (ro.Count >= 0)
{
for (int i = 0; i < m.Count; i++)
{
//取出ID和内容
string id = ro[i].Groups["ID"].Value;
string topic = ro[i].Groups["CONTENT"].Value;
}
}