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); }
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); }
public Link(string sUrlSite, string sUrl, RegExpResult oResult) { this.__UrlSite = sUrlSite; this.__Url = sUrl; this.__Result = oResult; }
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); }