当前位置:  开发笔记 > 编程语言 > 正文

正则表达式中的C#字符串格式占位符

如何解决《正则表达式中的C#字符串格式占位符》经验,为你挑选了1个好方法。

我有一个正则表达式,以逐字C#字符串类型定义,如下所示:

private static string importFileRegex = @"^{0}(\d{4})[W|S]\.(csv|cur)";

在正则表达式行开始之后的前3个字母(^)可以是字母字符的许多可能组合之一.

我想使用上面的方法做一个优雅的String.Format,在开始时放置我的3个字母组合选择并在我的匹配算法中使用它,如下所示:

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.

任何人都知道,如果没有拆分弦,我可以逃避其他花括号或东西,以避免上述错误?



1> Andrew Hare..:

试试这个(注意双花括号):

@"^{0}(\d{{4}})[W|S]\.(csv|cur)"

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有