当前位置:编程学习 > C#/ASP.NET >>

求一个正则表达式

<span class="bluetxt">50</span> - <span class="redtxt">52</span><br/>

我想同时取50和52的值,谢谢! --------------------编程问答-------------------- /\d+/ --------------------编程问答-------------------- Regex r = new Regex("<span class=\"bluetxt\">(\d+)</span> - <span class=\"redtxt\">(\d+)</span><br/>"); --------------------编程问答--------------------
		string s = @"<span class=""bluetxt"">50</span> - <span class=""redtxt"">52</span><br/>";
MatchCollection matches = Regex.Matches(s, @"(?is)(?<=<span class="".+?"">)\d+(?=</span>)");
foreach (Match match in matches)
Response.Write(match.Value + "<br/>");

输出:
50
52 --------------------编程问答--------------------
引用 3 楼 dalmeeme 的回复:
C# code

        string s = @"<span class=""bluetxt"">50</span> - <span class=""redtxt"">52</span><br/>";
        MatchCollection matches = Regex.Matches(s, @"(?is)(?<=<span class="".+?"">)\d+(?=</……

正解 --------------------编程问答--------------------

Regex re = new Regex("(?<=<span\\s*class=\"[^\"]+\">)\\d+(?=</span>)", RegexOptions.None);
MatchCollection mc = re.Matches("你的字符串");
foreach (Match ma in mc)
{
   //ma.Value就是你要的值
}



--------------------编程问答-------------------- [<span class=]*\d+ --------------------编程问答--------------------
引用楼主 brassica 的回复:
<span class="bluetxt">50</span> - <span class="redtxt">52</span><br/>

我想同时取50和52的值,谢谢!

(?<=>)\d+(?=<) --------------------编程问答-------------------- (?<=<span\s*class=\"[^\"]+\">)\d+(?=</span>) --------------------编程问答-------------------- (?<=span class=\"[^\"]+\">)\d+(?=</span>)
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,