Esempio n. 1
0
    public Hashtable GetData(string sData, string sRegExPattern)
    {
        Hashtable hashtable  = this.Match(sRegExPattern, sData, RegexOptions.IgnoreCase);
        Hashtable hashtable2 = new Hashtable();

        if (hashtable.Count == 0)
        {
            return(hashtable2);
        }
        try
        {
            IEnumerator enumerator = hashtable.Values.GetEnumerator();
            while (enumerator.MoveNext())
            {
                RegExpResult regExpResult = (RegExpResult)enumerator.Current;
                hashtable2.Add(hashtable2.Count.ToString(), regExpResult.Value);
            }
        }
        finally
        {
            IEnumerator enumerator = null;
            if (enumerator is IDisposable)
            {
                (enumerator as IDisposable).Dispose();
            }
        }
        return(hashtable2);
    }
Esempio n. 2
0
    public Hashtable Match(string sPattern, string sData, RegexOptions o)
    {
        Hashtable hashtable = new Hashtable();
        Regex     regex     = new Regex(sPattern, o);
        Match     match     = regex.Match(sData);

        while (match.Success)
        {
            RegExpResult regExpResult = new RegExpResult();
            regExpResult.Index = match.Index;
            regExpResult.Value = match.Groups[1].Value;
            hashtable.Add(match.Index.ToString(), regExpResult);
            match = match.NextMatch();
        }
        return(hashtable);
    }
Esempio n. 3
0
 public Link(string sUrlSite, string sUrl, RegExpResult oResult)
 {
     this.__UrlSite = sUrlSite;
     this.__Url     = sUrl;
     this.__Result  = oResult;
 }
Esempio n. 4
0
    public Hashtable GetLinks(string sUrl, string sData, string sRegExPattern)
    {
        Hashtable hashtable  = this.Match(sRegExPattern, sData, RegexOptions.IgnoreCase);
        Hashtable hashtable2 = new Hashtable();

        if (hashtable.Count == 0)
        {
            return(hashtable2);
        }
        if (string.IsNullOrEmpty(sUrl))
        {
            try
            {
                IEnumerator enumerator = hashtable.Values.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    RegExpResult regExpResult = (RegExpResult)enumerator.Current;
                    hashtable2.Add(hashtable2.Count.ToString(), regExpResult.Value);
                }
            }
            finally
            {
                IEnumerator enumerator = null;
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            return(hashtable2);
        }
        string[] array = Regex.Split(sUrl, "/");
        string   str   = array[0] + "//" + array[2];

        try
        {
            IEnumerator enumerator2 = hashtable.Values.GetEnumerator();
            while (enumerator2.MoveNext())
            {
                RegExpResult regExpResult2 = (RegExpResult)enumerator2.Current;
                if (regExpResult2.Value.StartsWith("http://"))
                {
                    hashtable2.Add(hashtable2.Count.ToString(), new Link(regExpResult2.Value, regExpResult2.Value, regExpResult2));
                }
                else
                {
                    if (regExpResult2.Value.StartsWith("./"))
                    {
                        regExpResult2.Value = regExpResult2.Value.Replace("./", "/");
                    }
                    if (regExpResult2.Value.StartsWith("/") | regExpResult2.Value.StartsWith("./"))
                    {
                        hashtable2.Add(hashtable2.Count.ToString(), new Link(regExpResult2.Value, str + regExpResult2.Value, regExpResult2));
                    }
                    else
                    {
                        hashtable2.Add(hashtable2.Count.ToString(), new Link(regExpResult2.Value, str + "/" + regExpResult2.Value, regExpResult2));
                    }
                }
            }
        }
        finally
        {
            IEnumerator enumerator2 = null;
            if (enumerator2 is IDisposable)
            {
                (enumerator2 as IDisposable).Dispose();
            }
        }
        return(hashtable2);
    }