正则表达式由可用于搜索文本变化形式的各种模式组成。如果没有正则表达式,您必须知道要搜索的确切短语;使用正则表达式,您可以找到遵循特定模式的所有文本。即使“查找/替换”对话框中的“正则表达式”复选框已打开,您仍然可以搜索确切短语。在这种情况下,您必须从短语中移除正则表达式操作符(请参阅“语法”)。
用于搜索文本的正则表达式的语法
正则表达式通常包括一些常量文本,以及对文本其余部分的一些限制或通配符。如果要将其中一个操作符用作原义文本,则必须在字符前面加上反斜杠。
以下是仅用于搜索文本的正则表达式列表。搜索文本时,还可以使用适用于所有运算类型的正则表达式。
字符 |
含义 |
[ ] |
这些括号内的字符描述了字符类或自定义通配符。 |
* |
前导字符(或字符类)允许重复零。 |
+ |
前导字符(或字符类)必须至少重复一次。 |
- |
当在字符类中使用时,表示字符范围。 |
用于搜索文本的正则表达式示例
- 查找以“A”开头并以“2”结尾的行:
^A.*2$ |
|
“^A” |
行必须以 A 开头 |
|
“.*” |
零个或多个字符(任意字符) |
|
“2$” |
行必须以 2 结尾 |
示例: |
|
Abc-12 |
找到 |
|
A2 |
找到 |
|
1Abc-12 |
未找到(行不以 A 开头) |
|
Abc-123 |
未找到(行不以 2 结尾) |
- 查找包含“Plan”一词,并且后跟可选空格和 4 位数字的文本:
Plan *:d:d:d:d |
|
“Plan” |
短语必须以原义词“Plan”开头 |
|
“ *” |
(空格字符后跟 *)零个或多个空格字符 |
|
“:d:d:d:d” |
任意四位数字 |
示例: |
|
My Plan1234 |
找到 |
|
Plan 1234 |
找到 |
|
My Plan 123a |
未找到(Plan 后只有 3 位数字) |
- 查找包含字符“[#”,但不后跟 1、2、3、4 或 B 的文本:
\[#[^1-4B] |
|
“\[” |
原义字符 [(必须转义) |
|
“#” |
原义字符 #(不是操作符,不需要转义) |
|
“[^” |
作为字符类的开头,表示除了类中所描述的任何字符 |
|
“1-4B” |
范围 1-4(1、2、3、4)和 B |
|
“]” |
作为字符类的结尾 |
示例 |
|
Part [#9778C] |
找到 |
|
Lot [#554] |
找到 |
|
Part #977 |
未找到(# 前面没有 [) |
|
Part [#155A] |
未找到(# 后跟 1) |
- 查找以“Detail”开头,后跟一个或多个空格,再后跟一个或多个字母数字字符以及一个 Z 的行:
^Detail +:n+Z |
|
“^Detail” |
行必须以 Detail 开头 |
|
“ +” |
(空格字符后跟 +)一个或多个空格字符 |
|
“:n+” |
一个或多个 ASCII 字母数字字符 |
|
“Z” |
原义字符 Z |
示例: |
|
Detail 143Z |
找到 |
|
Detail AABZ |
找到 |
|
Plot A Detail 3Z |
未找到(行不以 Detail 开头) |
- 查找 $#,###.## 形式的货币值:
\$[0-9,]+\.:d:d |
|
\$ |
匹配项必须以美元符号开头 |
|
[0-9,]+ |
匹配一个或多位数字或逗号 |
|
\. |
后跟小数点 |
|
:d:d |
后跟两位数字 |
示例: |
|
$12.34 |
找到 |
|
$12,123.00 |
找到 |
|
12,435.00 |
未找到(不以 $ 开头) |
|
$12 |
未找到(不以小数点和两位数字结尾) |