首页 > 编程 > .NET > 正文

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

2020-01-18 00:32:15
字体:
来源:转载
供稿:网友

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

元字符说明
^匹配字符串的开始位置
$匹配字符串的结束位置
.匹配任意单个字符(换行符 /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

MCharDefinition
^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

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
a/sca c

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

Escaped CharDescription
ordinary charactersCharacters other than . $ ^ { [ ( | ) ] } * + ? / match themselves.
/aMatches a bell (alarm) /u0007.
/bMatches a backspace /u0008 if in a []; otherwise matches a word boundary (between /w and /W characters).
/tMatches a tab /u0009.
/rMatches a carriage return /u000D.
/vMatches a vertical tab /u000B.
/fMatches a form feed /u000C.
/nMatches a new line /u000A.
/eMatches an escape /u001B.
/040Matches 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.
/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 /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}.
/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/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].
/SMatches 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].
/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.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表