У меня есть регулярное выражение, определенное в дословном строковом типе 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.
Кто-нибудь знает, как, если не разделять строки, я могу избежать других фигурных скобок или чего-то другого, чтобы избежать вышеуказанной ошибки?