using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^<\s*(?<Slash>/\s*)?(?<TagName>(?:esi:)?[a-zA-Z0-9-]+)(?<AttrList>[^>]*)>?$";
string input = @"<input src>
<esi:include src>
<esi:include src/>
<esi:include src />
<esi:include src=""http://example.com/1.html"" alt=""http://bak.example.com/2.html"" onerror=""continue""/>
<p>
</p>
<esi:in:clude src/>
<esi::include src/>
<esi::::::::::include src>
<:::::::::esi:include src>
";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
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