日期:2014-05-18  浏览次数:20878 次

提问,用这则表达式提取某个字段
<span class="sysmsg">一个闪闪发光的宝箱出现在眼前</span><div class="nav_right"><a href="pickBox.jsp?sid=AZxQEI9AyFL1CRX-sBfAyda8&amp;partyId=7784&amp;robotId=300">捡起来</a></div>


我用这则表达式 要先判断有没有捡起来这三个字,如果这三个字在的话就把robotid=后面的这个数字截取下来,该怎么写呢




------解决方案--------------------

C# code

 static void Main(string[] args)
        {
            string str = @"<span class=""sysmsg"">一个闪闪发光的宝箱出现在眼前</span><div class=""nav_right""><a href=""pickBox.jsp?sid=AZxQEI9AyFL1CRX-sBfAyda8&amp;partyId=7784&amp;robotId=300"">捡起来</a></div>";


            Regex re = new Regex(@"(?is)<a\s*href="".*?robotId=(\d+)"">捡起来</a>", RegexOptions.IgnoreCase);

            Console.WriteLine(re.Match(str).Groups[1].Value);  //输出结果:300


            Console.ReadLine();           
        }

------解决方案--------------------
探讨

引用:
C# code

static void Main(string[] args)
{
string str = @"<span class=""sysmsg"">一个闪闪发光的宝箱出现在眼前</span><div class=""nav_right""><a href=""pickBox.jsp?sid=AZxQEI9AyFL1CRX-sBfA……