【问题标题】:Regex pattern for image (not link) [duplicate]图像的正则表达式模式(非链接)[重复]
【发布时间】:2013-04-27 09:51:18
【问题描述】:

谁能给我正则表达式的模式来获取所有本地图像。 :( 我正在使用下面的代码,但它包含图片链接。

  Regex rgx = new Regex("[^\\/:*?\"<>|]+\\.(?i)(jpg|png|gif|bmp)", RegexOptions.IgnoreCase);

输入:

 http://dl9.glitter-graphics.net/pub/846/846279rr8zhg26y6.gif
 images/strawberries.jpg

输出:

 846279rr8zhg26y6.gif
 strawberries.jpg 

我不想要846279rr8zhg26y6.gif

【问题讨论】:

  • 您要查找的输出是什么
  • 如果保证图像在该位置,您可以执行类似 `images\\/([^\\s.]+)\\.(jpg|png|gif|bmp) 之类的操作
  • 如果任务足够具体,那么正则表达式搜索恰好是 html 的数据就可以了。在这种情况下,实际数据似乎是 URL。

标签: regex


【解决方案1】:

如果您的输入字符串以某种方式有界(例如在 "" 内或在输入字符串的开头),那么事情会更容易,并且如果输入具有作为(相对或绝对)URL 的语义上下文,并且您只需要相对 URL,然后更容易。

不过,我会注意到扩展部分可能应该是 jpe?g 而不仅仅是 jpg,我希望人们永远不会在网页上使用 bmp

【讨论】:

  • 这似乎更适合作为评论而不是答案
  • 我拥有所有 HTML 文件,我想要的只是过滤本地磁盘中图像的来源。不是我可以通过互联网访问的来源(URL 链接),因为我将 cid(以编程方式)添加到本地图像中的那些。
猜你喜欢
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 1970-01-01
相关资源
最近更新 更多