......<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>)");
我想提取网页源码其中的文字“新闻标题”以下是我写的好象不像网上写的那些嘛,而且也没用,请问大家给个例子,刚接触正则
Match m = Regex.Match(content, @"(?<=/<span id="ctl00_ContentPlaceHolder1_lbltitle" class="default_text3"/>)[\s\S]*?(?=/</span>)");
(?<=<span[^>]*>).*?(?=</span>)
<span id="ctl00_ContentPlaceHolder1_lbltitle1" class="default_text3">新闻标题1 </span>......
<span id="ctl00_ContentPlaceHolder1_lbltitle2" class="default_text3">新闻标题2 </span>......
我如果想提取网页源码其中的文字“新闻标题2”呢
给你写了个,你自己看看,我也技术有限,别看笑话了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;
}
}
}