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

正则表达式
[原创]正则匹配后面非指定字符的正则
正则的几个基本概念
php半小时精通正则表达式
一个不错的正则
自己学正则时做的笔记,其实正则也不难哦 php
关于HTML及UBB标记的闭合
用JavaScript实现全局替换,解决$等特殊符号的难题[
正则表达式的基本知识
临时记录:一个正则
一个关于正则表达式的问题
正则表达式不包含align该怎么写
正则表达式话题
Javascrp中几个常用的字符串验证
Js&Vbs正则表达式替换重复的字符
一个验证用户名的正则表达式
正则表达式,只匹配一次下化线!
用JS让文章内容指定的关键字加亮
看到一个JS正则的题
Javascript里的两种使用正则的方法
正则表达式 应用四则

正则表达式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 33 ::
收藏到网摘: 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;
}
}