正则表达式从img标签获取src值

Tan*_*moy 2 html c# regex

我使用以下正则表达式来获取HTML文档中src第一个img标记的值.

string match = "src=(?:\"|\')?(?<imgSrc>[^>]*[^/].(?:jpg|png))(?:\"|\')?"
Run Code Online (Sandbox Code Playgroud)

现在它捕获src了我不需要的总属性.我只需要src属性中的url .怎么做?

Wel*_*bog 6

用其他东西解析你的HTML. HTML不是常规的,因此正则表达式根本不适合解析它.

如果HTML严格,请使用HTML解析器或XML解析器.使用XPath获取src属性的值要容易得多:

//img/@src
Run Code Online (Sandbox Code Playgroud)

XML解析内置于System.Xml命名空间中.它非常强大.如果HTML不严格,HTML解析会有点困难,但是有很多库会为你做这件事.

  • 他不打算解析html,而是简单地从html中的单一类型的标签中提取一个值.正则表达式在这类事情上表现出色. (2认同)