C#学习教程:在C#中获取图像SRC的正则表达式(我知道这不是最好的方法,但这是我在这种情况下必须做的)我有一个包含简单HTML代码、一些文本和图像的字符串。我需要从该字符串中获取src属性的值。到目前为止,我只设法隔离了整个选项卡。stringmatchString=Regex.Match(original_text,@"(]+)>)").Value;字符串matchString=Regex.Match(original_text,"",RegexOptions.IgnoreCase).Groups[1].Value;我知道你说你必须使用正则表达式,但如果可能的话我真的会给这个开源项目一个机会:HtmlAgilityPack它真的很容易使用,我刚刚发现它并且它帮助了我很多,因为我做了一些更重的html解析。它基本上允许您使用XPATHS来获取元素。他们的示例页面有点过时,但是API非常容易理解,如果你对xpath有点熟悉,你现在就可以理解查询的代码如下所示:(未编译代码)ListimgScrs=新列表();HtmlDocumentdoc=newHtmlDocument();doc.LoadHtml(htmlText);//或doc.Load(htmlFileStream)varnodes=doc.DocumentNode.SelectNodes(@"//img[@src]");sforeach(varimginnodes){HtmlAttributeatt=img["src"];imgScrs.Add(att.Value)}我尝试了FranciscoNoriega的建议,但看起来HtmlAgilityPack的api已经改变了。这就是我解决它的方法:Listimages=newList();WebClient客户端=newWebClient();字符串站点=“http://www.mysite.com”;varhtmlText=client.DownloadString(网站);varhtmlDoc=newHtmlDocument(){OptionFixNestedTags=true,OptionAutoCloseOnEnd=true};htmlDoc.LoadHtml(htmlText);foreach(HtmlNodeimginhtmlDoc.DocumentNode.SelectNodes("//img")){HtmlAttributeatt=img.Attributes["src"];images.Add(att.Value);你想要的正则表达式应该是:()希望这有帮助。这应该捕获所有img标签和src部分,无论它位于何处(课前或课后等)并支持html/xhtml:D您也可以在不拉出组的情况下进行回顾(?记得在需要时转义引号这是我用来从字符串中获取标签的方法:]*>这是我使用的方法:(?:(?!1).)*)1|(?[^s>]+))[^>]*?>好的部分是匹配以下任何一个:也可以匹配一些意想不到的情况,比如额外的属性,例如:全部内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
