IntelliJ IDEA 2025.1 Help

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

当您想搜索并替换特定的文本模式时,请使用 正则表达式。 它们能帮助您进行模式匹配、解析、结果过滤等。 一旦您学会了正则表达式语法,几乎可以在任何语言中使用它。

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

正则表达式图标
  1. Ctrl+R 打开搜索和替换窗格。

  2. 请在顶部字段中输入搜索字符串,在底部字段中输入替换字符串。

    正则表达式搜索和替换字段

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

  3. 当您搜索包含特殊正则表达式符号的文本字符串时,IntelliJ IDEA 会自动在搜索字段中用反斜杠 \ 转义它们。

    不过,当您专门搜索诸如 .[{()\^$|?*+ 这样的元字符时,您需要使用反斜杠 \ 进行转义,以便它们可以被识别。

    例如,如果您需要查找 . ,请在搜索字段中键入 \.

  4. IntelliJ IDEA 也可以匹配当您在搜索字段中输入字符范围时的字母大小写。

    例如,若想仅搜索大写字符,请在搜索字段中键入以下内容:

    \b[A-Z]

    如需搜索和替换更复杂的模式,请使用 结构化搜索和替换

  5. 如果在搜索字段中未选择 “Match Case” 图标 ,IntelliJ IDEA 会搜索小写和大写两者。

    选择 “Match Case” 图标 以匹配指定范围的大小写。

    匹配大小写选择的结果
  6. 当您浏览出现的情况时,IntelliJ IDEA 会显示替换提示,因此您可以在点击 替换 按钮之前查看潜在结果。

    替换提示

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

您可以将正则表达式放在括号内以对其进行分组。 每个组都有一个从 1 开始的编号,所以您可以在替换模式中引用(反向引用)它们。 请注意,组 0 指的是整个正则表达式。 然而,您不仅可以通过数字 $n 引用捕获组,还可以通过名称 ${name} 引用。

例如,对于数字捕获组,请使用以下语法:

<h2>(.*?)</h2>
$1

对于命名捕获组,请使用以下语法:

<h2>(?<title>.*?)</h2>
${title}

查找并替换捕获组

让我们考虑以下内容:

<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 开始的数字来引用这些 backreference 组,例如:

    $2<title>$1</title>
  4. IntelliJ IDEA 根据您的搜索规格突出显示找到的匹配项,并显示替换字符串的提示。

    替换为正则表达式结果

切换字符大小写

您可以使用正则表达式更改符合某些条件的字符的大小写。

  1. 打开搜索和替换窗格 Ctrl+R。 确保已在搜索字段中选择 Regex 图标

  2. 在搜索字段中输入搜索模式。

  3. 在替换字段中,依据您的需求,输入以下语法之一:

    • \l 将一个字符改为小写字母,直到字符串中的下一个字符。

      例如, 条形图 变成 bar

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

      例如, bar 变成 条形图

    • \L 将字符更改为小写,直到文字字符串的末尾 \E

      例如, BAR 变成 bar

    • \U 将字符更改为大写,直到字符串末尾 \E

      例如, bar 变成 BAR

    切换到大写字符示例

如需更多信息,请参阅 RegEx syntax参考表。

最后修改日期: 2025年 4月 24日