100高分坐等!C#正则表达式提取style属性值

.Net技术 码拜 8年前 (2016-05-04) 1142次浏览
string testTxt = @”<p>本人是内容<span style=”color: #00000;font-size:15px;font-weight:bold;”>本人是内容1</span>
<span style=”color: #000111;font-size:12px;”>本人是内容2</span>
<span style=”font-size:16px;font-weight:bold;”>本人是内容3</span>本人是内容4</p>”;
var pattern = @”<span\b(?:style\s*=\s*(?<koS>[“””]?)[^”””]*?\b(font-size\s*:\s*(?<FontSize>[#\w]*)[^”””]*)|[^><])+>(?<Txt>[^<>]*)”;
var mcCollections = Regex.Matches(testTxt, pattern, RegexOptions.IgnoreCase);
foreach (Match mcItem in mcCollections)
{
var href = mcItem.Groups[“FontSize”].Value;

var txt = mcItem.Groups[“Txt”].Value;
Response.Write(“H:” + href + “T:”.PadLeft(10) + txt);
}
目前程序已经可以输出font-size属性了。但是如上本人现在想在输出另外两个font-weight和color怎么修改以上正则表达,请注意3个属性都是可能为空的。
还有“本人是内容”和“本人是内容4”本人能否一起得到希望有先后顺序。
万分感谢!

解决方案

50

假如不是想研究正则表达式,还是在浏览器处理这个容易一些.

<html>
 <head>
 </head>
 <body>
  <p>本人是内容<span style="color: #100000;font-size:15px;font-weight:bold;">本人是内容1</span>
        <span style="color: #000111;font-size:12px;">本人是内容2</span>
        <span style="font-size:16px;font-weight:bold;">本人是内容3</span>本人是内容4</p>
	<script type="text/javascript">
	<!--
		var d = document.getElementsByTagName("p")[0];
		var s = d.getElementsByTagName("span");
		for(var i=0;i<s.length;i++){
			alert(s[i].style.fontSize);
			alert(s[i].style.fontWeight);
			alert(s[i].style.color);
		}
	//-->
	</script>
 </body>
</html>

50

100高分坐等!C#正则表达式提取style属性值

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明100高分坐等!C#正则表达式提取style属性值
喜欢 (0)
[1034331897@qq.com]
分享 (0)