使用正则表达式查找和替换文本
当您想搜索并替换特定的文本模式时,请使用 正则表达式。 它们能帮助您进行模式匹配、解析、结果过滤等。 一旦您学会了正则表达式语法,几乎可以在任何语言中使用它。
IDE 使用 Java 正则表达式,这是包含在 IDE 运行所需 JDK 中的正则表达式。 有关模式的更多信息,请参阅 docs.oracle.com 上的 Class Pattern。 这些表达式大多(但不完全)与 PCRE (Perl Compatible Regular Expressions) 兼容。
按 Ctrl+R 打开搜索和替换窗格。
请在顶部字段中输入搜索字符串,在底部字段中输入替换字符串。

点击
以启用正则表达式。 如果您想检查正则表达式的语法,请将鼠标悬停在
上并点击 显示表达式帮助 链接。
当您搜索包含特殊正则表达式符号的文本字符串时,JetBrains Rider 会自动在搜索字段中用反斜杠
\转义它们。不过,当您专门搜索诸如
.[{()\^$|?*+这样的元字符时,您需要使用反斜杠\进行转义,以便它们可以被识别。例如,如果您需要查找
。,请在搜索字段中键入\。。JetBrains Rider 也可以匹配当您在搜索字段中输入字符范围时的字母大小写。
例如,若想仅搜索大写字符,请在搜索字段中键入以下内容:
\b[A-Z]如果在搜索字段中未选择
,JetBrains Rider 会搜索小写和大写两者。
选择
以匹配指定作用域的大小写。

当您浏览出现的情况时,JetBrains Rider 会显示替换提示,因此您可以在点击 替换 按钮之前查看潜在结果。

使用正则表达式捕获组和反向引用
您可以将正则表达式放在括号内以对其进行分组。 每个组都有一个从 1 开始的编号,所以您可以在替换模式中引用(反向引用)它们。 请注意,组 0 指的是整个正则表达式。 然而,您不仅可以通过数字 $n 引用捕获组,还可以通过名称 ${name} 引用。
查找并替换捕获组
让我们考虑以下内容:
打开搜索和替换窗格 Ctrl+R。
在查找字段中输入括号
(),表示一个 捕获组 ,例如:\stitle="(.*)?"\s*(/>*)。在替换字段中,通过以 1 开始的数字来引用这些 backreference 组,例如:
$2<title>$1</title>JetBrains Rider 根据您的搜索规格突出显示找到的匹配项,并显示替换字符串的提示。

切换字符大小写
您可以使用正则表达式更改符合某些条件的字符的大小写。
打开搜索和替换窗格 Ctrl+R。 确保已在搜索字段中选择
。
在搜索字段中输入搜索模式。
在替换字段中,依据您的需求,输入以下语法之一:
\l将一个字符改为小写字母,直到字符串中的下一个字符。例如,
条形图变为bar。\u将一个字符转换为大写,直到字符串中的下一个字符。例如,
bar变为条形图。\L将字符更改为小写,直到文字字符串的末尾\E。例如,
BAR变为bar。\U将字符更改为大写,直到字符串末尾\E。例如,
bar变为BAR。

如需更多信息,请参阅 RegEx syntax参考表。
查找和替换字符串
假设您想将元素 标题 中的属性替换为包含双引号内任意字符串的扩展标签 <title></title>。
操作如下。
在编辑器中打开 XML 文件后,按 Ctrl+R。 替换 窗格出现在编辑器顶部。
由于您想替换所有
标题属性,而不管其中实际包含的字符串,请使用正则表达式。 确保选中复选框 正则表达式。 因此,您在 搜索 和 替换 字段中输入的所有内容都将被视为正则表达式。在 搜索 字段中,开始输入描述所有
标题属性的正则表达式。\stitle="(.*)?"\s*(/>*)请注意,尽管正则表达式
\stitle=".*?"\s*[/>]*匹配标题属性的内容,但建议捕获组以便在 替换 字段中引用它们。
然后,在 替换 字段中,输入以下正则表达式:
$2<title>$1</title>其中
$1指的是第一个 捕获组,$2指的是第二个捕获组。单击 替换 或 全部替换。