使用Notepad ++替换正则表达式

时间:2013-09-12 08:04:44

标签: regex notepad++

我有一个包含多行代码的文本文件:

cd_cod_bus
nm_number_ex
cd_goal

我想使用Notepad ++摆脱-和大写以下字符(我也可以使用其他工具,但如果它不会让问题更麻烦)。

所以我尝试使用以下正则表达式(?<=_)\w获取字符并使用\U\1\E\2替换它以获得大写技巧,但这里是我的问题所在。我认为正则表达式是正常的但是一旦我点击替换所有我得到这个结果:

cd_od_us
nm_umber_x
cd_oal

你可以看到它只是删除了匹配。

你知道问题出在哪里吗?

感谢。

3 个答案:

答案 0 :(得分:8)

搜索正则表达式没有捕获组,即替换中的\ 1和\ 2引用不引用任何内容。

请改为尝试:

Search: _(\w)
Replace \U\1\E

搜索部分中有一个捕获组(\ w周围的括号),替换中的\ 1指的是捕获的内容。

答案 1 :(得分:2)

替换

_(.)

\U$1

会给你:

cdCodBus
nmNumberEx
cdGoal

和你的

  

我也可以使用其他工具但是如果它没有让问题更麻烦

我建议你试试vim。

答案 2 :(得分:2)

试试这个,

_(\w)

并替换为

\U\1

here's a screenshot