我想替换以下声明
ImageIcon("images/calender.gif");
Run Code Online (Sandbox Code Playgroud)
同
ImageIcon(res.getResource("images/calender.gif"));
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议正则表达式在eclipse中执行此操作.而不是"calender.gif"任何文件名都可以来.
pol*_*nts 10
你可以找到这种模式(在正则表达式模式下):
ImageIcon\(("[^"]+")\)
Run Code Online (Sandbox Code Playgroud)
并替换为:
ImageIcon(res.getResource($1))
Run Code Online (Sandbox Code Playgroud)
在\(和\)这是因为它们的字面匹配模式逃脱括号.未转义的大括号(…)设置捕获组1,它匹配双引号字符串文字,它不应该有双重引号(我认为无论如何都是非法的文件名).
这[…]是一个角色类.类似于[aeiou]匹配任何一个小写元音的东西.[^…]是一个否定的角色类.[^aeiou]匹配除小写元音之外的任何东西.
这+是一次或多次重复,因此[^"]+匹配除双引号之外的所有内容的非空序列.我们只是围绕这个模式"来匹配双引号字符串文字.
所以模式就像这样崩溃了:
literal( literal)
| |
ImageIcon\(("[^"]+")\)
\_______/
group 1
Run Code Online (Sandbox Code Playgroud)
在替换字符串中,$1替换组1匹配的字符串.
| 归档时间: |
|
| 查看次数: |
4557 次 |
| 最近记录: |