private static bool TryParseSimpleEscapeSequence(RevgexStringReader inp, out char c) { inp.Read(); // '\' switch (inp.Peek()) { case 'n': inp.Read(); c = '\n'; return(true); case 't': inp.Read(); c = '\t'; return(true); default: if (inp.Peek() > 0 && "\\[](){}+*?$. \n\t".Contains((char)inp.Peek())) { c = inp.Read(); return(true); } inp.Unread(); // '\' c = '\0'; return(false); } }