У меня есть регулярное выражение, определенное дословным строковым типом C #, например:
private static string importFileRegex = @"^{0}(\d{4})[W|S]\.(csv|cur)";
Первые 3 буквы сразу после начала строки регулярного выражения (^) могут быть одной из многих возможных комбинаций буквенных символов.
Я хочу создать элегантный String.Format, используя вышеизложенное, поместив вначале свою трехбуквенную комбинацию выбора и используя ее в моем алгоритме сопоставления, например:
string regex = String.Format(importFileRegex, "ABC");
Это даст мне регулярное выражение ^ABC(\d{4})[W|S]\.(csv|cur)
Проблема в том, что когда я использую String.Format, потому что у меня есть другие фигурные скобки в строке (например, \d{4}
) String.Format ищет что-то для вставки здесь, не может найти и выдает мне ошибку:
System.FormatException : Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
Кто-нибудь знает, как, не считая разделения строк, я могу избежать других фигурных скобок или чего-то еще, чтобы избежать вышеуказанной ошибки?