using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?:'|"")([^""':]*?\.(?:png|jpe?g|gif)[^'""]*(?=[^<]+?>))";
string input = @"TO MATCH:
<img src=""images/vendor.png"" alt="" > <img src=""images/vendor.gif"" class=""box-bg-image"" alt="" >
<img src=""images/vendor-dp-20141009-flatware.jpg"" class=""box-bg-image"" alt="" >
<img src=""images/vendor-flatware.jpeg"" class=""box"" alt="" >
<img src='images/vendor-flatware.jpeg' class=""box"" >
<img alt="" src= 'images/vendor-flatware.jpeg' alt="" >
<img src=' images/vendor-flatware.jpg' alt="" >
<img src=' images/vendor-flatware.gif' alt="" >
<img src=' images/vendor-flatware.png ' alt="" >
<img src='../silverware.png' alt="" >
<img class=""box"" src='images/vendor-watch.png' alt="" >
<img src="" images/vendor-flatware.jpeg "" alt="" >
< img src=""images/vendor-flatware.jpeg "" alt="" >
< img src=""images/vendor-flatware.jpeg "" alt="" >
<img src=""vendor.gif"" alt="">
NOT TO MATCH:
<img src=""http://thirdpartycdn.com/image.jpg"">
<img src='http://thirdpartycdn.com/image.png'>
<img src=""http://thirdpartycdn.com/image.gif"" class=""box-bg-image"" alt="">
img src=""images/vendor-flatware.jpeg ""
<img src=""images/vendorpng"" alt="" >";
foreach (Match m in Regex.Matches(input, pattern))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx