【发布时间】:2013-12-01 10:16:30
【问题描述】:
我有一个输入字符串如下:
var format = "{0}({1:2}({*:8})){2:3}({3:16})";
对于“你这样做是为了什么”的问题:
上面的格式告诉我们的很像 string.Format(string, args) 方法,只是做了一些修改。
- {0} 是插入索引
- {1:2} 是一个以字节为单位指定长度的插入索引
- ({3:16}) 是分组插入索引,保留匹配序列的副本
预期输出图:
- {0}
- ({1:2}({*:8}))
- {2:3}
- ({3:16})
我现在得到的:
- {0}
- ({1:2}
- ({*:8}))
- {2:3}
- ({3:16})
我现在使用的正则表达式:
var regExpr = @"\(?\{\(*([^/}]+)\)*\}\)?";
顺便说一句,由于我刚刚学习RegEx,所以我希望 cmets 了解表达式的效率。
【问题讨论】: