正则表达式速查表(.NET)
2010年08月12日 正则表达式, 翻译
出处: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] |
为之漫笔(李松峰),本博客专注于Web前后端技术、移动平台开发技术、交互设计和技术翻译。声明一下,因为时常需要外出审稿,而且基本不带笔记本,所以有时可能会迟一点回复大家的留言。
. 匹配除 \n 之外的任意字符。
这个点号刚好前几天测试过,Java和Javascript里匹配的是\r\n之外的任意字符。机器上没有VS,没测试c#,有点怀疑原文作者的说法。因为大多数正则表达式书中,点号解释为换行以为的其他字符,其实就是CRLF — Carriage-Return Line-Feed外的字符。
附上测试代码:
//JavaScript代码 var text="\r\na"; var pattern =/./; var matches =pattern.exec(text); alert(matches.index);//2 //Java代码 import java.util.regex.*; class Test { public static void main(String[] args) { Matcher matcher =Pattern.compile(".").matcher("\r\na"); matcher.find(); System.out.println(matcher.start());//2 } }@凌空一叶
我在后台把代码编辑了一下,可以使用<pre>标签。
学习了
The star performer, Lady GaGa has been lately touring in several areas of the world, undertaking appearances on Television shows, and also performing
Looking for this information, which is very helpful, thank you.
You may be more happy than pinces,if you will be more virtuous.
服用禁药特锐