目标 | 表达式 | 示例 |
---|---|---|
与任何单个字符匹配(换行符除外)。 有关详细信息,请参阅任意字符。 | 。 | a.o 匹配“around”中的“aro”和“about”中的“abo”,但不匹配“across”中的“acro” |
零次或多次匹配前面的表达式(匹配尽可能多的字符)。 有关详细信息,请参阅零次或多次匹配。 | * | a*r 匹配“rack”中的“r”,“ark”中的“ar”和“aardvark”中的“aar” |
零次或多次匹配任何字符。 | .* | c.*e 匹配“racket”中的“cke”,“comment”中的“comme”和“code”中的“code” |
一次或多次匹配前面的表达式(匹配尽可能多的字符)。 有关详细信息,请参阅一次或多次匹配。 | + | e+d 匹配“feeder”中的“eed”和“faded”中的“ed” |
一次或多次匹配任何字符。 | .+ | e.+e 匹配“feeder”中的“eed”,但在“feed”中未找到匹配项 |
零次或多次匹配前面的表达式(匹配尽可能少的字符)。 有关详细信息,请参阅零次或多次匹配(惰性匹配)。 | *? | 由于是惰性匹配,\w*?d 匹配“faded”中的“fad”和“ed”而不是“faded”整个词 |
一次或多次匹配前面的表达式(匹配尽可能少的字符)。 有关详细信息,请参阅一次或多次匹配(惰性匹配)。 | +? | e\w+? 匹配“asleep”中的“ee”和“faded”中的“ed”,但在“fade”中未找到匹配项 |
将匹配字符串定位到行或字符串的开头 | ^ | ^car 仅在出现于行开头时才匹配单词“car” |
将匹配字符串定位到行尾 | \r?$ | car\r?$ 仅匹配位于行末的“car” |
将匹配字符串定位到文件末尾 | $ | car$ 仅匹配位于文件末尾的“car” |
匹配集中的任何单个字符 | [abc] | b[abc] 匹配“ba”、“bb”和“bc” |
匹配的字符范围中的任意字符 | [a-f] | be[n-t] 匹配“between”中的“bet”、“beneath”中的“ben”和“beside”中的“bes”,但在“below”中未找到匹配项 |
捕获包含在括号中的表达式并对其进行隐式编号 | () | ([a-z])X\1 匹配“aXa”和“bXb”,但不匹配“aXb”。 “\1”指第一个表达式组“[a-z]”。 有关详细信息,请参阅捕获组和替换模式。 |
使匹配无效 | (?!abc) | real(?!ity) 匹配“realty”和“really”(但不匹配“reality”)中的“real”。它还能找到“realityreal”中的第二个“real”(而不是第一个)。 |
与不在给定字符集中的任意字符匹配。 有关详细信息,请参阅负字符组。 | [^abc] | be[^n-t] 匹配“before”中的“bef”、“behind”中的“beh”和“below”中的“bel”,但在“beneath”中未找到匹配项 |
与符号前或符号后的表达式匹配 | | | (sponge|mud) bath 匹配“sponge bath”和“mud bath” |
对反斜杠后面的字符进行转义 | \ | \^ 匹配字符 ^ |
指定前面的字符或组的出现次数。 有关详细信息,请参阅 n 次完全匹配。 | {n},其中“n”是出现次数 | x(ab){2}x 匹配“xababx”x(ab){2,3}x 匹配“xababx”和“xabababx”,但不匹配“xababababx” |
匹配 Unicode 类别中的文本。 有关 Unicode 字符类的详细信息,请参阅 Unicode 标准 15.0 字符属性。 | \p{X},其中“X”是 Unicode 数字。 | \p{Lu} 匹配“Thomas Doe”中的“T”和“D” |
与字边界匹配 | \b(在字符类外部,\b 指定字边界,而在字符类内部,\b 指定退格符。) | \bin 匹配“inside”中的“in”,但在“pinto”中未找到匹配项 |
与换行符(即新行后跟回车)相匹配 | \r?\n | 仅当“End”是一行的最后一个字符串,且“Begin”是下一行的第一个字符串时,End\r?\nBegin 才匹配“End”和“Begin” |
与任何单词字符匹配 | \w | a\wd 匹配“add”和“a1d”,但不匹配“a d” |
与任何空格字符匹配 | \s | Public\sInterface 匹配词组“Public Interface” |
与任何十进制数字字符匹配 | \d | \d 匹配“wd40”中的“4”和“0”。 |
\b0[xX]([0-9a-fA-F]+)\b
是一个组合部分运算符和构造来匹配十六进制数字的示例正则表达式。 该表达式匹配“0xc67f”,但不匹配“0xc67g”。