javascript的正则表达式中的基础理论1
1.元字符
{} () \ $ ^ * + | . ?
对元字符进行转义:\+元字符
2.特殊字符:
要用一个ASCII来表示一个字符:\x+两位的十六进制数
用八进制数来表示十六进制数:\+八进制数
表示Unicode字符:\u+四位十六进制数
其他特殊字符:
   
    
        
字符类是用来测试字符的组合。
a.简单类:"bat","cat","fat"等,简单的字符组合。
b.负向类:使用负向类(negation class),它可以指定要排除的字符。要匹配除了a和b的所有字符,那么这个字符类就是[^ab]。脱字符号(^)告诉正则表达式字符不能匹配后面跟着的字符。
c.范围类(range class):指定从a到z之间的范围:[a-z]。这里最关键的地方是那条横线(-),也可以使用负向范围:[^a-z];
D:组合类(combination class):由几种其他的类组合而成的字符类。如果要匹配所有的从a-m的字母与及数字1-4,以及一个换行符:那么所用到的类应该是这样的:[a-m1-4\n]。注意中间不能为空格。
E:预定义类:由于某些模式会反复用到,所以可以使用一组预定义的字符类让我们理方便地指定复杂类。
    
        
{} () \ $ ^ * + | . ?
对元字符进行转义:\+元字符
2.特殊字符:
要用一个ASCII来表示一个字符:\x+两位的十六进制数
用八进制数来表示十六进制数:\+八进制数
表示Unicode字符:\u+四位十六进制数
其他特殊字符:
| 字符 | 描述 | 
| \t | 制表符 | 
| \n | 换行符 | 
| \r | 回车符 | 
| \f | 换页符 | 
| \a | alert字符 | 
| \e | escape字符 | 
| \cX | 与X相对应的控制字符 | 
| \b | 回退字符 | 
| \v | 垂直制表符 | 
| \0 | 空字符 | 
3.字符类
字符类是用来测试字符的组合。
a.简单类:"bat","cat","fat"等,简单的字符组合。
b.负向类:使用负向类(negation class),它可以指定要排除的字符。要匹配除了a和b的所有字符,那么这个字符类就是[^ab]。脱字符号(^)告诉正则表达式字符不能匹配后面跟着的字符。
c.范围类(range class):指定从a到z之间的范围:[a-z]。这里最关键的地方是那条横线(-),也可以使用负向范围:[^a-z];
D:组合类(combination class):由几种其他的类组合而成的字符类。如果要匹配所有的从a-m的字母与及数字1-4,以及一个换行符:那么所用到的类应该是这样的:[a-m1-4\n]。注意中间不能为空格。
E:预定义类:由于某些模式会反复用到,所以可以使用一组预定义的字符类让我们理方便地指定复杂类。
| 代码 | 等同于 | 匹配 | 
| . | [^\n\r] | 除了换行符和回车符之外的任意字符 | 
| \d | [0-9] | 数字 | 
| \D | [^0-9] | 非数字 | 
| \s | [\t\n\xoB] | 空白字符 | 
| \S | [^\t\n\xoB] | 非空白字符 | 
| \w | [a-zA-Z_0-9] | 单词字符 | 
| \W | [^a-zA-Z_0-9] | 非单词字符 | 
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号