正则表达式
我们要解析一个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;
}
}