使用C#regex转换字符串中的大小写

Pat*_*olf 3 c# regex string

我怎么能转换这个字符串:

bKk_035A_paint-House_V003

BKK_035a_paint-House_v003

使用正则表达式(例如Regex.Replace)?
这个正则表达式匹配字符串:

^(?<Group1>[a-z][a-z0-9]{1,2})_(?<Group2>\d{3}[a-z]{0,2})_(?<Group3>[a-z-]+)_(?<Group4>v\d{3,5})$
Run Code Online (Sandbox Code Playgroud)
  • Group1 =大写
  • Group2 =小写
  • Group3 =不变
  • Group4 =小写

谢谢你的帮助,
帕特里克

Joh*_*don 5

正则表达式与第一个字符串不匹配...

我假设你想要前3个大写字母,其余小写?

这是第一关:

const string mod = @"^([a-z][a-z0-9]{1,2})(_\d{3}[a-z]{0,2}_[a-z]+_v{1}\d{3,5})$";
var converted = 
    new Regex(mod, RegexOptions.IgnoreCase)
        .Replace(input1, 
            m => string.Format(
                   "{0}_{1}",
                   m.Groups[1].ToString().ToUpper(),
                   m.Groups[2].ToString().ToLower()
                 )
                );
Run Code Online (Sandbox Code Playgroud)