如何在Eclipse中使用正则表达式将大写字母替换为小写字母?

31 regex eclipse lowercase uppercase

我想查看我的所有源代码文件并替换每个出现k_Xyyyk_xyyy(将k_大写后的第一个字母切换为小写).

我正在使用eclipse对话框来搜索和替换多个文件.现在我有正则表达式\bk_([A-Z]).

如何指定正则表达式的替换字符串?

edi*_*dio 16

我刚刚利用VIM的强大功能解决了同样的任务(必须将.net接口转换为java接口):)

void DoMethod1 -> void doMethod1
Foo PerformMethod2 -> Foo performMethod2
Run Code Online (Sandbox Code Playgroud)
:%s/\(^\s*\w\+\s\+\)\([A-Z]\)/\1\L\2/g
Run Code Online (Sandbox Code Playgroud)

这里我们正在搜索(可选的缩进,后跟返回类型后跟空格),后跟(大写字母).大括号正在捕捉群体.然后我们正在执行替换的第一个捕获组\ 1小写\ L第二个捕获组\ 2.

这当然要求你在Vim中打开文件,但无论如何,这比在Eclipse中手动执行相同的操作要快得多.


Bar*_*ers 12

这是不可能的.要么使用Eclipse的重新分解功能,要么一次更换一个:

regex       : \bk_A
replacement : k_a 

regex       : \bk_B
replacement : k_b 

...

regex       : \bk_Z
replacement : k_z 
Run Code Online (Sandbox Code Playgroud)