using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?3)*\)*$(()((?(2)|\)*)(\((?1)*(\)|$)|0|""[^\n""]*.?|(1|(2|(3|4(?3))(?3))(?3))(?3))))?";
string input = @"Truthy:
0
)
(
""
()
""
10
400010
210010
("")00
3""""""
2(2(2(0)0)0)0
2""010""44)()4""
)31(0)0(20102010
())2)1))0""3())""))
3(""4321(""301(0)21100""4"")""123""00)40""121""31000""01010
Falsy:
1
1(310
12(010
4""00010""
3120102100
20(2((0)(0)))
2(2(2(0)0)0)01)
4(0102)00)00000
2""00""(""00""2(""))
";
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