JavaScript正则表达式RegExp对象

一、创建RegExp对象
 
    1、var re=/.../[falgs];
 
    2、var re=new RegExp("...",["flags"]);
 
    3、var re=new RegExp(new RegExp("..."));
 
    4、var re=new RegExp(/.../);
 
    5、falgs参数的可选值
 
        (0)、标志  对应属性    功能说明
 
        (1)、g    global    全局标志,表示找出所有的pattern
 
        (2)、i    ignoreCase    表示匹配时不区分大小写
 
        (3)m    multiline    更改^和$的含义,使他们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的                                       开头和结尾匹配
 
二、简单语法
 
    0、模式   // 描述
 
    1、c    //c表示一个或多个普通字符,匹配字符串c
 
    2、{n,}    //n是一个非负整数,表示至少匹配n次
 
    3、{n,m}    //m和n都是非负整数(n<=m),表示至少匹配n次且最多匹配m次
 
    4、\    //转义字符
 
    5、^    //匹配字符串的开始位置
 
    6、$    //匹配输入字符串的结束位置
 
    7、*    //匹配前面的字符或子表达式零次或多次【包括该字符串本身】==》{0,}
 
    8、+    //匹配前面的字符或子表达式一次或多次==》{1,}
 
    9、?    //匹配前面的字符或子表达式零次或一次==》{0,1}  当该字符紧跟在任何一个其他限制符后面时,非                 贪心模式(匹配搜素到的、尽可能短的字符串)
 
   10、.    //匹配除"\n"之外的任何单个字符
 
   11、x|y    //匹配x或y
 
   12、[xyz]    //字符集合匹配包含的任意一个字符(只匹配其中一个)
 
   13、[^xyz]    //反向字符集合,匹配未包含的任意符.
 
   14、[a-z]    //字符范围,匹配指定范围内的任意字符 ^[A-Za-z0-9]+$表示由数字和26个英文字母组成的                        字符串
 
   15、[^a-z]    //反向字符范围,匹配任何不在指定范围内的任意字符
 
二、'非贪心'模式
 
    0、模式    //描述(尽可能少重复)
 
    1、*?    //重复任意次
 
    2、+?    //重复1次 或更多次
 
    3、??    //重复0次或1次
 
    4、{n,m}?    //重复n~m次
 
    5、{n,}?    //重复n次以上
 
    6、{n}?    //重复仅n次
 
三、正则表达式转义语法
 
    0、模式    //描述
 
    1、\b    //匹配单词边界
 
    2、\B    //匹配非单词边界
 
    3、\cx    //匹配由x指定的ASCII控制字符
 
    4、\d    //匹配一个数字字符
 
    5、\D    //匹配一个非数字字符
 
    6、\f    //匹配一个换页符==》\x0c  \cL
 
    7、\n    //匹配一个换行符==》\x0a  \cJ
 
    8、\r    //匹配一个回车符,==》\x0d  \cM
 
    9、\s    //匹配任何单个字符,包括空格、制表符、换页符等==》[\f\n\r\t\v]
 
   10、\S    //匹配任何单个字符,但不包括空白
 
   11、\t    //匹配一个制表符==》\x09  \cI
 
   12、\v    //匹配一个垂直制表符==》\x0b  \cK
 
   13、\w    //匹配包括下划线的任何单词字符
 
   14、\W    //匹配任何非单词字符
 
   15、\xnn    //匹配nn,此处的nn是一个16进制转义码
 
   16、\num    //匹配num,此处的num是一个正整数
 
   17、\n    //标识一个8进制转义值或一个反向引用
 
   18、\nm    //标识一个8进制转义码或反向引用
 
   19、\nml    //当n是8进制数(0~3),m和1是8进制数(0~7)时,匹配8进制转义码nml
 
   20、\unnnn    //匹配nnnn,其中nnnn是以4位16进制数表示的Unicode字符
 
   21、\0    //匹配NUL,即4位16进制数\u0000或者两位16进制数\x00
 
四、捕获语法
 
    0、模式    //描述
 
    1、(pattern)    //匹配pattern并捕获该匹配的子表达式
 
    2、(?:pattern)    //匹配pattern但不捕获匹配结果,不存储供以后使用的匹配
 
    3、(?=pattern)    //正向预查,在任何匹配pattern的字符串开始处匹配查找字符串
 
    4、(?!pattern)    //执行反向预测先行搜素的子表达式,该表达式匹配不处于匹配pattern的字符串的起点的搜                               素字符串
 
五、优先权顺序    //高------>>>底
 
    0、操作符        //描述
 
    1、\        //转义符
 
    2、()、(?:)、(?=)、(?!)、[]    //圆括号和方括号
 
    3、*、+、?、{、n}、{n,}、{n,m}    //限定符
 
    4、^、$、\任何元字符    //位置和顺序
 
    5、|    //"或"运算
 
 
posted @ 2016-05-20 13:29  DeadGhost  阅读(166)  评论(0编辑  收藏  举报