出处: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]



朋友们的留言

  1. 凌空一叶 | 08月 20th, 2010 at 17:18

    . 匹配除 \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
    	}
    }
    
    Reply to this comment
  2. 为之漫笔 | 08月 23rd, 2010 at 09:26

    @凌空一叶

    我在后台把代码编辑了一下,可以使用<pre>标签。

    Reply to this comment
  3. trituradora | 01月 7th, 2011 at 09:36

    学习了

    Reply to this comment
  4. Davis Ellrod | 09月 16th, 2011 at 00:09

    The star performer, Lady GaGa has been lately touring in several areas of the world, undertaking appearances on Television shows, and also performing

    Reply to this comment
  5. UGG Sheepskin Boots Australia | 09月 19th, 2011 at 09:25

    Looking for this information, which is very helpful, thank you.

    Reply to this comment
  6. Office 2010 | 11月 9th, 2011 at 17:25

    You may be more happy than pinces,if you will be more virtuous.

    服用禁药特锐

    Reply to this comment

我来说两句儿

可以在留言中使用以下标签 :<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree