using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?<!\b(?:soy|almond)\s*(?:milk)?)\bmilk\b";
string input = @"""...almondmilk..."" = no match
""...almond milk..."" = no match
""...almond word(s) milk..."" => matched ['milk']
""...almondword(s)milk..."" => matched ['milk']
""...soymilk..."" = no match
""...soy milk..."" = no match
""...soy word(s) milk..."" => matched ['milk']
""...soyword(s)milk..."" => matched ['milk']
is combined with creamy soy and milk. a fruity and refreshing sip of spring,
is combined with creamy milk. a fruity and refreshing sip of spring,
""...milk...this is soy milk and regular milk"" ";
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