正则表达式速查表(ASP.NET)

时间:2021-11-22 16:22:24

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

Metacharacters Defined

MChar Definition
^ Start of a string.
$ End of a string.
. Any character (except \n 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

Pattern Sample Matches
^abc abc, abcdefg, abc123, ...
abc$ abc, endsinabc, 123abc, ...
a.c abc, aac, acc, adc, aec, ...
bill|ted ted, bill
ab{2}c abbc
a[bB]c abc, aBc
(abc){2} abcabc
ab*c ac, abc, abbc, abbbc, ...
ab+c abc, abbc, abbbc, ...
ab?c ac, abc
a\sc a c

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

Escaped Char Description
ordinary characters Characters other than . $ ^ { [ ( | ) ] } * + ? \ match themselves.
\a Matches a bell (alarm) \u0007.
\b Matches a backspace \u0008 if in a []; otherwise matches a word boundary (between \w and \W characters).
\t Matches a tab \u0009.
\r Matches a carriage return \u000D.
\v Matches a vertical tab \u000B.
\f Matches a form feed \u000C.
\n Matches a new line \u000A.
\e Matches an escape \u001B.
\040 Matches 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 \040 represents a space.
\x20 Matches an ASCII character using hexadecimal representation (exactly two digits).
\cC Matches an ASCII control character; for example \cC is control-C.
\u0020 Matches 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 Class Description
. Matches any character except \n. 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}.
\w Matches 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].
\W Matches 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].
\s Matches any white-space character. Equivalent to the Unicode character categories [\f\n\r\t\v\x85\p{Z}]. If ECMAScript-compliant behavior is specified with the ECMAScript option, \s is equivalent to [ \f\n\r\t\v].
\S Matches any non-white-space character. Equivalent to the Unicode character categories [^\f\n\r\t\v\x85\p{Z}]. If ECMAScript-compliant behavior is specified with the ECMAScript option, \S is equivalent to [^ \f\n\r\t\v].
\d Matches any decimal digit. Equivalent to \p{Nd} for Unicode and [0-9] for non-Unicode, ECMAScript behavior.
\D Matches any nondigit. Equivalent to \P{Nd} for Unicode and [^0-9] for non-Unicode, ECMAScript behavior.