正则表达式匹配起始字符或_ \ w

时间:2015-05-30 12:14:53

标签: c# regex

我想用大写替换起始字符或任何_ \ w。这是我的代码

cmbServiceOffering.Items.Add(Regex.Replace(so.ToString().ToLower(), "($\\w|_\\w)", 
                new MatchEvaluator(
                      m => m.Groups[1].Value.ToUpper()
                   )));

但它与起始角色不匹配。有什么建议吗?

3 个答案:

答案 0 :(得分:3)

正则表达式启动的修饰符为^而非$$是正则表达式修饰符的结尾。

您需要将正则表达式更改为以下

"(^\\w|_\\w)"

答案 1 :(得分:2)

您必须使用^而不是$ ..以下方法可以使用:

(^\\w|_\\w)

说明:

  • ^字符串或行的开头(如果使用MULTILINE标志)
  • $字符串或行的结尾(如果使用MULTILINE标志)

答案 2 :(得分:0)

你也可以使用这个基于lookbehind的正则表达式:

((?<=_|^)\\w)