에 예외를 던지는 다음 코드는 'ConsoleApplication1.Program'의 형식 이니셜 라이저에서 예외를 Throw정규식은 [] 실행
?가 발생합니다. 선 내가 그것을 어떻게 왜 문제를 해결할 수이 잘못되고
public static Regexp[] keepers = { ... };
에
namespace ConsoleApplication1
{
class Program
{
public static String output = "";
public static Regex[] keepers = {
new Regex(@"using(?<everythingElse> [a-zA-Z.]+;)"),
new Regex(@"namespace(?<everythingElse> [a-zA-Z._]+)"),
new Regex(@"class(?<everythingElse> [a-zA-Z._]+)"),
new Regex(@"(public|private)? ?(static)? ?(?<type> String|void|int|Double)(" + Regex.Escape("[") + "?" + Regex.Escape("]") + "?" + "(?<functionName> [a-z_]+)(?<params> [^\r\n]+)")
};
[STAThread]
static void Main(string[] args)
{}}}
의 InnerException을 읽어보십시오. – SLaks
배열의 정규 표현식에 중 일부는 잘못된 것입니다. 당신은 제거하는 경우 이니셜 라이저를 초기화하고 Main()에서 그것들 모두를 초기화하려고하면 어떤 것을 찾을 수 있습니까? – nothrow
왜 그것은 정말로 부풀어 오른''+ [] 대신 Regex.Escape ("[") + '? –