构建 GREP 表达式

上次更新日期: 2026年8月6日

学习如何构建和使用 GREP 表达式,以在 Adobe InDesign 中搜索和替换复杂的文本结构。

使用 GREP(全局正则表达式打印)表达式在多个打开的文档中查找和替换字母数字字符串和模式。它们有助于查找和修改结构化内容,如电话号码、电子邮件地址和格式化文本。GREP 可跨单个或多个文档工作,并支持批量更新。

使用 GREP 表达式查找和更改文本

选择编辑 > 查找/更改,然后选择 GREP 选项卡。

查找内容字段中,选择一个选项:

更改为字段中,键入或粘贴替换文本。 您还可以通过以下方法来用特定文本大小写替换任何找到的文本:选择要替换的特殊字符 图标,然后选择大小写修改工具

选择任意大小写修改工具以更改所找到文本的文本大小写。

搜索下拉菜单中选择一个搜索范围。

选择查找下一个以定位第一个匹配项。

选择更改更改全部更改/查找

GREP 需要对模式语法有基本了解,但 InDesign 的内置字符菜单可帮助您构建表达式,无需记忆代码。

查找引号内的文本并重新格式化

选择编辑 > 查找/更改,然后选择 GREP 选项卡。

查找内容字段中,键入 (")(\w+)(") 来搜索引号内的任何文本。

选择用于替换的特殊字符 图标,然后选择找到 > 查找到的文本,以将更改为填充为 $0。 在更改为字段中使用 $1$2$3 来替换表达式中由括号定义的各个组。 $1 针对第一组括号,$2 针对第二组,以此类推。

更改格式部分中,选择指定要更改的属性 图标,然后选择您所需的格式。

选择查找下一个以定位第一个实例。

选择更改更改全部更改/查找以替换文本,然后继续搜索。

GREP 表达式示例

查找条件

GREP 表达式

示例

字符类

[]

键入以下内容以查找 a、b 或 c:

[abc]

否定正查

(?!pattern)

在搜索中避免某种模式。例如,要避免从 InDesign 版本列表中查找 InDesign CS 版本,请键入:

InDesign (?!CS.*?)

肯定正查

(?=pattern)

查找特定模式。 例如,要从 InDesign 版本列表中仅查找 InDesign CS 版本,请键入:

InDesign (?=CS.*?)

不区分大小写打开

(?i)

查找文本,不考虑键入大小写。例如,若您希望查找大小写不限的 Apple(apple、APPLE 等),请键入:

(?i)apple

不区分大小写关闭

(?-i)

查找区分大小写的文本。例如,若您希望仅查找 Apple(而不是 apple、APPLE 等),请键入:

(?-i)apple

查找某个字符或单词出现的一定次数

{ }

键入以下任意一项以查找某个字符或单词的重复次数:

b{3}:精确匹配 3 次

b(3,}:匹配 3 次或以上

b{3,}?:仅匹配 3 次

b{2,3}:至少匹配 2 次,并且不会超过 3 次

以下示例使用常见的 GREP 替换语法约定:

  • \$1 $2:添加单个反斜杠 (\) 作为转义字符。
  • \\u $1 \u$2:添加双反斜杠 (\\) 输出单个反斜杠,并且允许在输出中显示转义字符。
  • \u$1 \\n \u$2:向输出传递 \n 会插入新行。

查找条件

查找表达式

查找结果

更改表达式

更改结果

查找两个中间有空格的单词并互换其位置,或者在中间或末尾添加任何内容。

(\w+)\s(\w+)

Adobe InDesign

$1 $2

$2 $1

$1, $2(™)

$1 $2:Adobe InDesign
$2 $1:InDesign Adobe

$1, $2(™):Adobe,Indesign(™)

更改组中第一个字母的大小写

(\w+)\s(\w+)

Adobe InDesign

\l

\u

\u$1 $2
\u$1 \u$2
\l\l\u$1 $2
\u$2, \u$1

\u$1 $2:Adobe indesign
\u$1 \u$2:Adobe Indesign
\l\l\u$1 $2:aDOBE INDESIGN
\u$2, \u$1:Indesign,Adobe

更改组中所有字母的大小写

(\w+)\s(\w+)

Adobe InDesign

\L

\U

\U$1 $2

\U$1 \U$2

\U$1 \u$2

\U$1 $2:ADOBE indesign

\U$1 \U$2:ADOBE INDESIGN

\U$1 \u$2:ADOBE Indesign