using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?!.*printf)([^""\n]*""[^""\n]*"")*?[^""\n]*""[^""\n]{5,}""";
string input = @"""Match"":
write(""blueberry""); // yum
y = 34; write(""banana"")
z = ""pineapple"";
Not match:
p = ""seed"";
printf(""-%s-"", ""strawberry""); // whatever
x = 12; printf(""lime""); write(""coconut"")
x = 12;"""" write(""coconut""); printf(""lime"");
write(""lime""); write(""lime"");
write(""lime""); write(""abc printf abc""); write(""lime"");
write(""lime""); write(""abc printf""); write(""lime"");
write(""lime""); write(""p printf""); write(""lime"");
write(""lime""); write(""pineapple printf""); write(""lime"");
write(""lime""); write("" printf""); write(""lime"");
write(""lime""); write(""printf abc""); write(""lime"");
write(""lime""); write(""printf""); write(""lime"");
write(printf""blueberry""); // yum
write(""blueberry""printf); // yum
write(""blueberry""); printf // yum
z = ""pineapple printf"";";
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