......<span id="ctl00_ContentPlaceHolder1_lbltitle" class="default_text3">新闻标题</span>......
我想提取网页源码其中的文字“新闻标题”以下是我写的好象不像网上写的那些嘛,而且也没用,请问大家给个例子,刚接触正则
Match m = Regex.Match(content, @"(?<=/<span id="ctl00_ContentPlaceHolder1_lbltitle" class="default_text3"/>)[\s\S]*?(?=/</span>)");

解决方案 »

  1.   


    (?<=<span[^>]*>).*?(?=</span>)
      

  2.   

    照你们的写法,如果这一断源码中出现多次类似这样的代码岂不是分不清取哪一个啦
    <span id="ctl00_ContentPlaceHolder1_lbltitle1" class="default_text3">新闻标题1 </span>...... 
    <span id="ctl00_ContentPlaceHolder1_lbltitle2" class="default_text3">新闻标题2 </span>...... 
    我如果想提取网页源码其中的文字“新闻标题2”呢
      

  3.   

    正则好像没有问题,剩下的是编程的问题了吧。
    给你写了个,你自己看看,我也技术有限,别看笑话了using System;
    using System.Text.RegularExpressions;
    using System.Collections.Generic;
    using System.Collections;
    namespace StringTest
    {
        class Program
        {
            /// <summary>
            /// 测试
            /// </summary>
            /// <param name="args"></param>
            static void Main(string[] args)
            {
                string inputString = "<span id=\"ctl00_ContentPlaceHolder1_lbltitle1\" class=\"default_text3\">新闻标题1 </span>......" +
                                    "<span id=\"ctl00_ContentPlaceHolder1_lbltitle2\" class=\"default_text3\">新闻标题2 </span>......"; 
                MatchCollection matches = GetString(inputString);
               // ArrayList arr = new ArrayList();
               //使用一个arrayList来存储结果,如果担心效率可以用泛型List<T>,可以减少一次装拆箱过程
                List<string> list = new List<string>();
                foreach (Match mat in matches)
                {
                    list.Add(mat.ToString());
                }
               // 输出
                //foreach (var item in list)
                //{
                //    Console.WriteLine(item.ToString());
                //}
                //Console.ReadKey();
            }
            /// <summary>
            /// 楼主的需求
            /// </summary>
            /// <param name="inputString">源字符串</param>
            /// <returns>MatchCollection 对象</returns>
            private static MatchCollection GetString(string inputString)
            {
                string regString = @"(?<=<span[^>]*>).*?(?=</span>)";//独孤求败兄写的正则,
                Regex regObject = new Regex(regString);
                MatchCollection matches = regObject.Matches(inputString, 0);
                return matches;
            }
        }
    }
      

  4.   

    (?<=<span id="ctl00_ContentPlaceHolder1_lbltitle1" class="default_text3">).*?(?=</span>)