IContentSource CrawlObject(IContentSource content) { var match = Regex.Match(content.ToString(), Pattern, RegexOptions.Singleline | RegexOptions.IgnoreCase); if (match == null || match.Groups.Count <= MatchGroup) return GetDefault(string.Format("Could not match pattern {0}", Pattern)); var plainContent = new PlainContent(); plainContent.ContentList.Add(match.Groups[MatchGroup].Value); return plainContent; }
protected IContentSource GetDefault(string errMessage=null) { if (DefaultValue != null) { var content = new PlainContent(); content.ContentList.Add(DefaultValue); return content; } if (ThrowIfNotFound) throw new ArgumentException(errMessage); return null; }