我想用大写替换起始字符或任何_ \ w。这是我的代码
cmbServiceOffering.Items.Add(Regex.Replace(so.ToString().ToLower(), "($\\w|_\\w)",
new MatchEvaluator(
m => m.Groups[1].Value.ToUpper()
)));
但它与起始角色不匹配。有什么建议吗?
答案 0 :(得分:3)
正则表达式启动的修饰符为^
而非$
。 $
是正则表达式修饰符的结尾。
您需要将正则表达式更改为以下
"(^\\w|_\\w)"
答案 1 :(得分:2)
您必须使用^
而不是$
..以下方法可以使用:
(^\\w|_\\w)
说明:
^
字符串或行的开头(如果使用MULTILINE
标志)$
字符串或行的结尾(如果使用MULTILINE
标志)答案 2 :(得分:0)
你也可以使用这个基于lookbehind的正则表达式:
((?<=_|^)\\w)