idea正则表达式替换(idea正则搜索)

待替换代码如下(ledger.getPrinciple().intValue()*100)需要替换成((int)(ledger.getPrinciple()*100))我们需要怎么做呢?ctrl+r打开文件替换勾选替换选项Regex待匹配行正则表达式逐步分解首先我们看到有三个括号,一个*100,于是有了\(\(\))\(\)\*100\),特殊字符…

大家好,又见面了,我是你们的朋友全栈君。

待替换代码如下

(ledger.getPrinciple().intValue() * 100)

需要替换成

((int)(ledger.getPrinciple() * 100))

我们需要怎么做呢?

  1. ctrl + r 打开文件替换
  2. 勾选替换选项Regex
  3. 待匹配行正则表达式逐步分解
  4. 首先我们看到有三个括号,一个* 100,于是有了\(\(\)\(\) \* 100\),特殊字符一定要用转义符
  5. 上述表达式肯定匹配不到内容的,需要加上字母/符号的匹配,\(.+\(\).+\(\) \* 100\)
  6. 正则表达式已经匹配上,但我们还要将我们需要的字符串取出来,也就是ledger.getPrinciple(),用小括号括上,于是有了\((.+\(\)).+\(\) \* 100\)
  7. 替换后代码:((int) ($1 * 100)) , $1 被替换成第6步里面的那一串ledger.getPrinciple()

简单解释下:

  • 不带\(的第一个括号是将其提取,后会在$1(依次类推 $2,$3…)被替换
  • 其他没有什么特别的,需要稍微有一些正则匹配基础知识
  • 重点是在待替换的字符串中找到特殊的关键字符,比如上述的(), * 100
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127658.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号