1.识别<br>标记,
例:合法:<br> <br > <br /> </br > 非法 < br> </ br> < /br>
Regex reg = new Regex(@"(?i)<[//]?br[/s/t/r/n]*[//]?[/s/t/r/n]*>");
2.识别img标记中的src值(下面这个方法只能识别引号中的src,未被引号包围的src无法识别。)
Regex regImg = new Regex(@"(?is)<img[^>]*?src[/s]*=[/s]*[/""/'](?<imgSrc>[^/""/']*)[/""/'][^>]*>");
MatchCollection matchs = regImg.Matches(strHtml);
foreach (Match m in matchs)
{
string strSrc = m.Groups["imgSrc"].Value.ToString();
}
3.作业题:捕捉<p></p>标记中的内容。
4.剔除注释标记的内容,删除所有的<!-- -->部分?
result = Regex.Replace(result, "(?s)<!--.*?-->", string.Empty);
解析:
(1)开头处的(?is)
i表示忽略大小写,
s表示单行模式,改变点号[.]的含义,一般情况下表示除了换行/n之外的任意字符。单行模式下.可以表示任意字符。
(2)?-->
?表示非贪婪模式的定义,表示匹配第一个-->.