出处: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 | |
|---|---|
| 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. |
新闻热点
疑难解答