PyCharm 2025.3 Help

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

当您需要搜索并替换特定文本模式时,请使用 正则表达式。 它们可帮助进行模式匹配、解析、结果筛选等。 掌握 regex 语法后,您几乎可以在任何语言中使用它。

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

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

  2. 在上方字段中输入查找字符串,在下方字段中输入替换字符串。

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

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

  3. 当您搜索包含特殊 regex 符号的文本字符串时,PyCharm 会在搜索字段中使用反斜杠 \ 自动转义它们。

    但是,当您专门搜索诸如 .[{()\^$|?*+ 之类的元字符时,需要使用反斜杠 \ 对其进行转义,以便能够识别。

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

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

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

    \b[A-Z]
  5. 如果在搜索字段中未选中 区分大小写图标 ,PyCharm 将同时搜索小写和大写。

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

    区分大小写选择的结果
  6. 浏览匹配项时,PyCharm 会显示替换提示,因此您可以在点击 替换 按钮之前查看潜在结果。

    替换提示

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

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

例如,对于编号的捕获组,请使用以下语法:

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

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

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

查找并替换捕获组

我们来看以下示例:

<form action="" class="form-inline" method="post"> <input type="text" class="form-control" placeholder="Username" name="username" value="{{ request.form.username }}"> <input type="password" class="form-control" placeholder="Password" name="password" value="{{ request.form.password }}"> <input class="btn btn-default" type="submit" value="Login"> </form>
  1. 打开查找与替换面板 Ctrl+R

  2. 在搜索字段中,输入括号 () 以表示一个 捕获组 ,例如: \svalue="(.*)?"\s*(>*)

  3. 在替换字段中,通过从 1 开始的编号对这类组进行 反向引用 ,例如: placeholder="$1"

  4. PyCharm 会根据您的搜索规范高亮显示找到的匹配项,并显示包含替换字符串的提示。

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

切换字符大小写

您可以使用正则表达式来更改字符的大小写,使其与某些条件匹配。

  1. 打开查找与替换面板 Ctrl+R。 确保在搜索字段中选中 正则表达式图标

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

  3. 在替换字段中,取决于您想要实现的内容,输入以下语法:

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

      例如, Bar 变为 bar

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

      例如, bar 变为 Bar

    • \L 将字符更改为小写,直到字面字符串 \E 的结尾。

      例如, BAR 变为 bar

    • \U 将字符更改为大写,直到字面字符串 \E 的结尾。

      例如, bar 变为 BAR

    切换到大写字符示例

有关更多信息,请参阅 RegEx 语法 参考表。

最后修改日期: 2025年 12月 2日