Welcome

首页 / 网页编程 / ASP.NET / 正则表达式速查表(ASP.NET)

出处:RegExLib.com Regular Expression Cheat Sheet (.NET)

元字符说明
^匹配字符串的开始位置
$匹配字符串的结束位置
.匹配任意单个字符(换行符 除外)
|交替
{…}指定要限定的数量
[...]指定要匹配的字符集
(…)对表达式进行逻辑分组
*匹配零或多个前面的表达式
+匹配一或多个前面的表达式
匹配零或一个前面的表达式
放在上面任何一个字符之前,表示匹配该字符本身。放在其他特殊字符后面,表示字符转义(见下面)
字符转义说明
原始字符除 . $ ^ { [ ( | ) ] } * + ? 之外的字符均匹配自身
a匹配铃声(闹铃)u0007
在[]中匹配一个空格 u0008,在其他情况下匹配字边界(位于 w 和 W 字符之间)
匹配制表符 u0009
匹制回车符 u000D
v匹配垂直制表符 u000B
f匹配换页符 u000C
匹配换行符 u000A
e匹配退出键(符) u001B
40匹配以八进制表示的 ASCII 字符(最多三位数);在没有前导零的情况下,如果只有一位数字或者相应数字与某个捕获组的编号对应,那就是反向引用(backreference)。字符 40 表示一个空格。
x20匹配以十六进制表示的 ASCII 字符(两位数)
cC匹配 ASCII 控制符,例如 cC 匹配 Ctrl+C
u0020匹配以十六进制表示的 Unicode 字符
*反斜杠后面如果不是一个可转义的字符,则匹配该字符本身。例如,* 就相当于x2A
字符类说明
.匹配除 之外的任意字符。
[aeiou]匹配特定字符集中包含的任意一个字符
[^aeiou]匹配特定字符集中不包含的任意一个字符
[0-9a-fA-F]连字符(-)用来指定连续的字符范围
p{name}匹配由{name}指定的命名字符类中的任意字符
P{name}匹配不包含在{name}指定的组或块范围中的文本
w匹配英文数字字母字符,在指定兼容ECMAScript的情况下,等价于[a-zA-Z0-9]
W匹配非英文数字字母字符,在指定兼容ECMAScript的情况下,等价于[^a-zA-Z0-9]
s匹配任意空白字符,在指定兼容ECMAScript的情况下,等价于[f v]
S匹配任意非空白字符,在指定兼容ECMAScript的情况下,等价于[^f v]
d匹配数字字符,在指定兼容ECMAScript的情况下,等价于[0-9]
D匹配非数字字符,在指定兼容ECMAScript的情况下,等价于[^0-9]

英文版:

Metacharacters Defined

MCharDefinition
^Start of a string.
$End of a string.
.Any character (except newline)
|Alternation.
{...}Explicit quantifier notation.
[...]Explicit set of characters to match.
(...)Logical grouping of part of an expression.
*0 or more of previous expression.
+1 or more of previous expression.
0 or 1 of previous expression; also forces minimal matching when an expression might match several strings within a search string.
Preceding one of the above, it makes it a literal instead of a special character. Preceding a special matching character, see below.

Metacharacter Examples

PatternSample Matches
^abcabc, abcdefg, abc123, ...
abc$abc, endsinabc, 123abc, ...
a.cabc, aac, acc, adc, aec, ...
bill|tedted, bill
ab{2}cabbc
a[bB]cabc, aBc
(abc){2}abcabc
ab*cac, abc, abbc, abbbc, ...
ab+cabc, abbc, abbbc, ...
ab?cac, abc
asca c

Character Escapes http://tinyurl.com/5wm3wl

Escaped CharDescription
ordinary charactersCharacters other than . $ ^ { [ ( | ) ] } * + ? match themselves.
aMatches a bell (alarm) u0007.
Matches a backspace u0008 if in a []; otherwise matches a word boundary (between w and W characters).
Matches a tab u0009.
Matches a carriage return u000D.
vMatches a vertical tab u000B.
fMatches a form feed u000C.
Matches a new line u000A.
eMatches an escape u001B.
40Matches an ASCII character as octal (up to three digits); numbers with no leading zero are backreferences if they have only one digit or if they correspond to a capturing group number. (For more information, see Backreferences.) For example, the character 40 represents a space.
x20Matches an ASCII character using hexadecimal representation (exactly two digits).
cCMatches an ASCII control character; for example cC is control-C.
u0020Matches a Unicode character using a hexadecimal representation (exactly four digits).
*When followed by a character that is not recognized as an escaped character, matches that character. For example, * is the same as x2A.

Character Classes http://tinyurl.com/5ck4ll

Char ClassDescription
.Matches any character except . If modified by the Singleline option, a period character matches any character. For more information, see Regular Expression Options.
[aeiou]Matches any single character included in the specified set of characters.
[^aeiou]Matches any single character not in the specified set of characters.
[0-9a-fA-F]Use of a hyphen (–) allows specification of contiguous character ranges.
p{name}Matches any character in the named character class specified by {name}. Supported names are Unicode groups and block ranges. For example, Ll, Nd, Z, IsGreek, IsBoxDrawing.
P{name}Matches text not included in groups and block ranges specified in {name}.
wMatches any word character. Equivalent to the Unicode character categories [p{Ll}p{Lu}p{Lt}p{Lo}p{Nd}p{Pc}]. If ECMAScript-compliant behavior is specified with the ECMAScript option, w is equivalent to [a-zA-Z_0-9].
WMatches any nonword character. Equivalent to the Unicode categories [^p{Ll}p{Lu}p{Lt}p{Lo}p{Nd}p{Pc}]. If ECMAScript-compliant behavior is specified with the ECMAScript option, W is equivalent to [^a-zA-Z_0-9].
sMatches any white-space character. Equivalent to the Unicode character categories [f vx85p{Z}]. If ECMAScript-compliant behavior is specified with the ECMAScript option, s is equivalent to [ f v].
SMatches any non-white-space character. Equivalent to the Unicode character categories [^f vx85p{Z}]. If ECMAScript-compliant behavior is specified with the ECMAScript option, S is equivalent to [^ f v].
dMatches any decimal digit. Equivalent to p{Nd} for Unicode and [0-9] for non-Unicode, ECMAScript behavior.
DMatches any nondigit. Equivalent to P{Nd} for Unicode and [^0-9] for non-Unicode, ECMAScript behavior.