GoLand 2025.2 Help

使用正则表达式查找并替换文本

当您想要查找和替换特定模式的文本时,请使用 正则表达式。 它们可帮助您进行模式匹配、解析、结果过滤等操作。 一旦掌握了 regex 语法,您几乎可以在任何语言中使用它。

IDE 使用 Java 正则表达式,即包含在 IDE 所用 JDK 中的正则表达式。 有关模式的更多信息,请参阅 docs.oracle.com 上的 Class Pattern。 这些表达式大多与 PCRE(Perl 兼容正则表达式)兼容,但并非完全兼容。

  1. Ctrl+R 打开查找与替换面板。

  2. 在顶部字段输入查找字符串,在底部字段输入替换字符串。

    正则表达式查找与替换字段

    单击 Regex 图标 启用正则表达式。 如果想检查正则表达式语法,请将鼠标悬停于 Regex 图标 并点击 显示表达式帮助 链接。

  3. 搜索包含特殊正则符号的文本字符串时,GoLand 会在查找字段中自动使用反斜杠 \ 对其进行转义。

    转义正则表达式符号

    但如果您要查找像 .[{()\^$|?*+ 这样的元字符,必须使用反斜杠 \ 对其进行转义,才能被识别。

    例如,如果需要查找 . ,请在查找字段中输入 \.

  4. 当您在查找字段中输入一组字符时,GoLand 也可以匹配字母的大小写。

    例如,如果只想查找大写字符,请在查找字段中输入以下内容:

    \b[A-Z]

    要查找与替换更复杂的模式,请使用 结构化查找与替换

  5. 如果查找字段中未选中 区分大小写图标 ,GoLand 将同时查找小写和大写字符。

    选中 区分大小写图标 可匹配指定范围的大小写。

    区分大小写选择的结果
  6. 浏览匹配项时,GoLand 会显示替换提示,便于在点击 替换 按钮前查看可能的结果。

    替换提示

使用正则表达式的捕获组和反向引用

可以将正则表达式放入括号中以进行分组。 每个组从 1 开始编号,您可以在替换模式中通过编号引用(反向引用)它们。 请注意,组 0 是指整个正则表达式。 不过,除了按编号 $n 引用捕获组外,您还可以通过名称 ${name} 引用它。

查找并替换捕获组

我们来看以下示例:

<new product="ij" category="105" title="Multiline search and replace in the current file"/> <new product="ij" category="105" title="Improved search and replace in the current file"/> <new product="ij" category="105" title="Regexp shows replacement preview"/>
  1. 打开查找与替换面板 Ctrl+R

  2. 在查找字段中输入括号 () 表示 捕获组 ,例如: \stitle="(.*)?"\s*(/>*)

  3. 在替换字段中使用从 1 开始的编号来 反向引用相应组,例如:

    $2<title>$1</title>
  4. GoLand 会根据您的查找条件高亮显示匹配项,并展示包含替换字符串的提示信息。

    使用正则表达式结果进行替换

切换字符大小写

您可以使用正则表达式更改匹配特定条件的字符的大小写。

  1. 打开查找与替换面板 Ctrl+R。 确保查找字段已选中 Regex 图标

  2. 在查找字段中输入查找模式。

  3. 在替换字段中,根据想要达到的效果,输入以下语法之一:

    • \l 会将一个字符转换为小写,直到字符串中的下一个字符为止。

      例如, Bar 会变成 bar

    • \u 会将一个字符转换为大写,直到字符串中的下一个字符为止。

      例如, bar 变为 Bar

    • \L 会将字符转换为小写,直到文本字符串 \E 的结尾。

      例如, BAR 变为 bar

    • \U 会将字符转换为大写,直到文本字符串 \E 的结尾。

      例如, bar 变为 BAR

    切换为大写字符示例
最后修改日期: 2025年 9月 26日