using System;
using System.Text.RegularExpressions;
using System.Collections;
namespace ccnuhome.toolsObject
{
/// <summary>
/// Regular 的摘要说明。
/// </summary>
public class Regular
{
public Regular()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public string GetFirstNchar(string instr,int firstN)
{
string outstr="";
instr = instr.Replace(@""""," ");
Regex r = new Regex(@"((?<=>)[/w,。:《》,.“”%?!()@?!()]*(?=<))|((?<=/b)[/w,。:《》,.“”%?!()@?!()]*(?=<))|((?<=>)[/w,。:《》,.“”%?!()@?!()]*(?=/b))");
MatchCollection mc = r.Matches(instr);
for(int i=0;i<mc.Count;i++)
{
outstr+=mc[i].Value;
}
if(outstr.Length<firstN)
return outstr;
return outstr.Substring(0,firstN);
}
public ArrayList GetHref(string inputString)
{
ArrayList al = new ArrayList();
Regex r;
Match m;
r = new Regex("href//s*=//s*(?:/"(?<1>[^/"]*)/"|(?<1>//S+))",
RegexOptions.IgnoreCase|RegexOptions.Compiled);
for (m = r.Match(inputString); m.Success; m = m.NextMatch())
{
al.Add(m.Groups[1].Value);
}
return al;
}
public ArrayList GetImages(string inputString)
{
ArrayList al = new ArrayList();
Regex r;
Match m;
r = new Regex("img//s*src=//s*(?:/"(?<1>[^/"]*)/"|(?<1>//S+))",
RegexOptions.IgnoreCase|RegexOptions.Compiled);
for (m = r.Match(inputString); m.Success; m = m.NextMatch())
{
al.Add(m.Groups[1].Value);
}
return al;
}
public string GetNImage(string inputString,int index)
{
ArrayList al = GetImages(inputString);
return (string)al[index];
}
}
}