using System.Collections.Generic;
using System.Text.RegularExpressions;
public static void Main()
string reg1 = "[dl].[Table]";
bool reg1Valid = IsValid(reg1);
Console.WriteLine($"reg1 isValid {IsValid(reg1)}");
bool IsValid(string value ){
return !Regex.IsMatch((string)value, @"^(\[dl]\.\[\w+]( FOR SYSTEM_TIME AS OF N'(\d|-|\s|:|\.)+')?)( JOIN \[dl]\.\[\w+]( FOR SYSTEM_TIME AS OF N'(\d|-|\s|:|\.)+')? ON \[dl]\.\[\w+]\.\[\w+]\s*=\s*\[dl]\.\[\w+]\.\[\w+])*", RegexOptions.IgnoreCase);