using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?=.*key1=[a-z0-9,]*d[1-4])(?=.*(?:key1=[a-z0-9,]*a[12]|key2=[a-z0-9,]*b[123]|key3=[a-z0-9,]*c[123])).+";
string input = @"key1=a2,d3
key2=b1,b3key1=d1
key2=b2key3=c3,a2key1=d4
key1=d2abckey2=b2,b3key1=a1
key1=d2
key1=a1key2=b1
key2=b2key3=a1
key1=a2,d3
key1=d3,a2";
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