正则表达式是以文本描述字符组合的模式。在代码搜索中使用它们有助于描述一些概念,例如以“以‘var’开始的行”和“包含数字的属性值”。有关搜索的更多信息,请参见搜索和替换标签和属性。
下表列出了在正则表达式中使用的特殊字符、其含义和用法示例。若要搜索包含该表中某一特殊字符的文本,请在特殊字符前面附加一个反斜杠,令其 “转义”。例如,若要在 短语中搜索实际的星号,您的搜索模式应类似于:apply*。如果您没有令星号转义,您将找到“apply”的所有匹配项(以及“appl”、 “applyy”和“applyyy”的所有匹配项),而不只是后面跟有星号的那些匹配项。
字符
匹配
示例
^
输入或行的起始部分。
^T
匹配“This good earth”中的“T”,但与“Uncle Tom's Cabin”中的“T”不匹配
$
输入或行的结尾部分。
h$
匹配“teach”中的“h”,但与“teacher”中的“h”不匹配
*
0 个或多个前置字符。
um*
匹配“rum”中的“um”、“yummy”中的“umm”和“huge”中的“u”
+
1 个或多个前置字符。
um+
匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中没有任何匹配项
?
前置字符最多出现一次(即,指示前置字符是可选的)。
st?on
匹配“Johnson”中的“son”和“Johnston”中的“ston”,但在“Appleton”或“tension”中没有任何匹配项
.
除换行符外的任何单字符。
.an
匹配短语“bran muffins can be tasty”中的“ran”和“can”
x|y
x 或 y。
FF0000|0000FF
匹配 bgcolor=”#FF0000”
中的“FF0000”和 font color=”#0000FF”
中的“0000FF”
{n}
恰好 n 个前置字符。
o{2}
匹配“loom”中的“oo”和“mooooo”中前两个“o”,但在“money”中没有任何匹配项
{n,m}
至少 n 个、至多 m 个前置字符。
F{2,4}
匹配“#FF0000”中的“FF”和“#FFFFFF”中的前四个“F”
[abc]
用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如,[a-f] 等效于 [abcdef])。
[e-g]
匹配“bed”中的“e”、“folly”中的“f”和“guard”中的“g”
[^abc]
未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。
[^aeiou]
最初匹配“orange”中的“r”、“book”中的“b”和“eek!”中的“k”
b
词边界(例如空格或回车符)。
bb
匹配“book”中的“b”,但在“goober”或“snob”中没有任何匹配项
B
词边界之外的任何内容。
Bb
匹配“goober”中的“b”,但在“book”中没有任何匹配项
d
任何数字字符。等效于 [0-9]。
d
匹配“C3PO”中的“3”和“apartment 2G”中的“2”
D
任何非数字字符。等效于 [^0-9]。
D
匹配“900S”中的“S”和“Q45”中的“Q”
f
换页符。
n
换行符。
r
回车符。
s
任何单个空白字符,包括空格、制表符、换页符或换行符。
sbook
匹配“blue book”中的“book”,但在“notebook”中没有任何匹配项
S
任何单个非空白字符。
Sbook
匹配“notebook”中的“book”,但在“blue book”中没有任何匹配项
t
制表符。
w
任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。