在 JetBrains 全家桶中使用正则表达式进行全局替换的简单操作

本贴最后更新于 2670 天前,其中的信息可能已经事过景迁
废话连篇

以下纯属废话,请直接跳转正文
JetBrains(以下简称 JB)作为一家捷克的私人持股的软件开发公司,第一次认识它是因为 JB 最为人所熟知的产品 IntelliJ IDEA,作为“全宇宙”最吊炸天的智慧型的 Java 整合开发工具,让我入坑后就越陷越深,以至于现在只要需要 IDE 就最先瞧下 JB 是不是有可以替代的。
现在在电脑上服役的有 IDEA、PyCharm、WebStorm、DataGrip,除了 IDEA,其它的工具可能并不如你所认知的专业工具好,例如 DataGrip 这款数据库管理工具,功能全面却不专业(或许我玩的时间还短),针对不同数据库你可以选择更加专业的软件,但我依然使用 JB 的全家桶,是因为我习惯了他的界面,习惯了它的快捷方式,习惯了它的聪明才智。废话到此结束,开始正文!
JB 出品,必属精品!(原谅我没有用过更好的吧!)

正文开始
我的需求是想把整个工程里头的如下字符串匹配出来进行替换:
../include/thumb.php?dir=../upload/201707/1500698517.jpg&x=900&y=500

要匹配的字符串在整个文档中所处的形态如下所示:

<img data-lazy="../include/thumb.php?dir=../upload/201707/1500698517.jpg&x=900&y=500" class="img-responsive" alt="VAT_Varese Theater Competition _ Varese theatre design competition program" />

知道了要匹配的内容,现在就是替换了,这是我最终要的结果:

../include/thumb.php-dir=../upload-201707-1500698517.jpg&x=900&y=500.jpeg

对比前后,你可以发现我需要将字符串中的一些“/”替换成“-”,同时在末尾添加".jpeg"后缀,最终匹配替换成如下形态:

<img data-lazy="../include/thumb.php-dir=../upload-201707-1500698517.jpg&x=900&y=500.jpeg" class="img-responsive" alt="VAT_Varese Theater Competition _ Varese theatre design competition program" />

那么该如何操作呢?
windows 快捷键:ctrl+shift+r
mac 快捷键:command+shift+r
打开如下窗口

看图能看明白的,后面的内容同样也不用看了,到此结束

  • 需要勾选使用正则表达式选项(Regex
  • 作用域选择整个项目进行匹配(In Project)
  • 在第一个的输入框中填写正则表达式来匹配要匹配的字符串,你需要观察需要被匹配的字符串特征,提取公共特殊,使用通配符来匹配,把需要被替换的字符写出来
  • 在第二个输入框中填写替换的字符串,其中**$1.....$n**指的是你第一个输入框中使用通配符匹配出来的内容,即在替换过程中需要保持不变的,简单点说,就是与正则表达式中的通配符一一对应。其它内容就按替换后的字符串来替换就行了,
结束
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • PyCharm
    6 引用 • 5 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...