版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/amoscn/article/details/82145908
待替换代码如下
(ledger.getPrinciple().intValue() * 100)
需要替换成
((int)(ledger.getPrinciple() * 100))
我们需要怎么做呢?
- ctrl + r 打开文件替换
- 勾选替换选项Regex
- 待匹配行正则表达式逐步分解
- 首先我们看到有三个括号,一个
* 100
,于是有了\(\(\)\(\) \* 100\)
,特殊字符一定要用转义符 - 上述表达式肯定匹配不到内容的,需要加上字母/符号的匹配,
\(.+\(\).+\(\) \* 100\)
- 正则表达式已经匹配上,但我们还要将我们需要的字符串取出来,也就是
ledger.getPrinciple()
,用小括号括上,于是有了\((.+\(\)).+\(\) \* 100\)
- 替换后代码:((int) ($1 * 100)) ,
$1
被替换成第6步里面的那一串ledger.getPrinciple()
简单解释下:
- 不带
\(
的第一个括号是将其提取,后会在$1
(依次类推$2
,$3
…)被替换 - 其他没有什么特别的,需要稍微有一些正则匹配基础知识
- 重点是在待替换的字符串中找到特殊的关键字符,比如上述的
()
,* 100
等