元字符:
| 
             字符  | 
            
             说明  | 
        
| 
             ^  | 
            
             匹配行的开始位置  | 
        
| 
             $  | 
            
             匹配行的结束位置  | 
        
| 
             b  | 
            
             匹配单词的开始或结束位置  | 
        
| 
             .  | 
            
             匹配除换行符号之外的任意字符  | 
        
| 
             w  | 
            
             匹配单词字符(包括字母、数字、下划线和汉字)  | 
        
| 
             w  | 
            
             匹配任意的非单词字符(包括字母、数字、下划线和汉字)  | 
        
| 
             s  | 
            
             匹配任意的空白字符,如空格、制表符、换行符等  | 
        
| 
             s  | 
            
             匹配非空白字符  | 
        
| 
             d  | 
            
             匹配任意的数字  | 
        
| 
             d  | 
            
             匹配非任意的数字  | 
        
常用字符集:
| 
             字符  | 
            
             说明  | 
        
| 
             .  | 
            
             匹配除换行符号之外的任意字符  | 
        
| 
             w  | 
            
             匹配单词字符(包括字母、数字、下划线和汉字)  | 
        
| 
             w  | 
            
             匹配任意的非单词字符(包括字母、数字、下划线和汉字)  | 
        
| 
             s  | 
            
             匹配任意的空白字符,如空格、制表符、换行符等  | 
        
| 
             s  | 
            
             匹配非空白字符  | 
        
| 
             d  | 
            
             匹配任意的数字  | 
        
| 
             d  | 
            
             匹配非任意的数字  | 
        
| 
             [abcd]  | 
            
             匹配字符集合中的任何字符  | 
        
| 
             [^abcd]  | 
            
             匹配字符集合之外的任何字符  | 
        
| 
             [0-9a-za-z]  | 
            
             匹配任何数字、字母(大写和小写字母)和下划线,等同于 w  | 
        
| 
             [^0-9a-za-z]  | 
            
             匹配除数字、字母(大写和小写字母)和下划线,等同于 w  | 
        
| 
             p{name}  | 
            
             匹配{name}指定的命名字符类中的任何字符  | 
        
| 
             p{name}  | 
            
             匹配{name}指定的命名字符类外的任何字符  | 
        
常用转义字符:
| 
             字符  | 
            
             说明  | 
        
| 
             a  | 
            
             响铃警报u0007  | 
        
| 
             b  | 
            
             在正则表达式中,表示单词的边界;如果在字符类中,则表示退格符u0008  | 
        
| 
             t  | 
            
             制表符u0009  | 
        
| 
             r  | 
            
             回车符u000d  | 
        
| 
             v  | 
            
             垂直制表符u000b  | 
        
| 
             f  | 
            
             换页符u000c  | 
        
| 
             n  | 
            
             换行符u000a  | 
        
| 
             e  | 
            
             回退符u001b  | 
        
| 
             40  | 
            
             将ascii字符匹配为8进制数  | 
        
| 
             x20  | 
            
             使用十六进制表示形式与ascii字符匹配  | 
        
| 
             cc  | 
            
             ascii控制字符,如ctrl+c  | 
        
| 
             u0020  | 
            
             使用十六进制表示形式与unicode字符匹配  | 
        
常用限定字符:
| 
             字符  | 
            
             说明  | 
        
| 
             {n}  | 
            
             重复n次  | 
        
| 
             {n,}  | 
            
             重复至少n次  | 
        
| 
             {n,m}  | 
            
             重复至少n次,最多m次  | 
        
| 
             *  | 
            
             重复至少0次,等同于{0,}  | 
        
| 
             +  | 
            
             重复至少1次,等同于{1,}  | 
        
| 
             ?  | 
            
             重复0次或1次,等同于{0,1}  | 
        
| 
             *?  | 
            
             尽可能少的使用重复的第一个匹配符  | 
        
| 
             +?  | 
            
             尽可能少地使用重复但至少使用一次  | 
        
| 
             ??  | 
            
             使用0次重复或一次重复  | 
        
| 
             {n}?  | 
            
             等同于{n}  | 
        
| 
             {n,}?  | 
            
             尽可能地使用重复但至少使用n次  | 
        
| 
             {n,m}?  | 
            
             介于n次和m次之间、尽可能少地使用重复  | 
        
替换字符:|
例子:国内部分地区的三种固定电话号码
0d{2}-d{8}|0d{3}-d{7}|0d{3}-d{8}
分组字符:( )
例子:匹配简单的ip地址
(d{1,3}.){3}d{1,3}