• 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、.    //匹配除" "之外的任何单个字符
     
       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、    //匹配单词边界
     
        2、B    //匹配非单词边界
     
        3、cx    //匹配由x指定的ASCII控制字符
     
        4、d    //匹配一个数字字符
     
        5、D    //匹配一个非数字字符
     
        6、f    //匹配一个换页符==》x0c  cL
     
        7、    //匹配一个换行符==》x0a  cJ
     
        8、    //匹配一个回车符,==》x0d  cM
     
        9、s    //匹配任何单个字符,包括空格、制表符、换页符等==》[f v]
     
       10、S    //匹配任何单个字符,但不包括空白
     
       11、    //匹配一个制表符==》x09  cI
     
       12、v    //匹配一个垂直制表符==》x0b  cK
     
       13、w    //匹配包括下划线的任何单词字符
     
       14、W    //匹配任何非单词字符
     
       15、xnn    //匹配nn,此处的nn是一个16进制转义码
     
       16、 um    //匹配num,此处的num是一个正整数
     
       17、    //标识一个8进制转义值或一个反向引用
     
       18、 m    //标识一个8进制转义码或反向引用
     
       19、 ml    //当n是8进制数(0~3),m和1是8进制数(0~7)时,匹配8进制转义码nml
     
       20、unnnn    //匹配nnnn,其中nnnn是以4位16进制数表示的Unicode字符
     
       21、    //匹配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、|    //"或"运算
     
     
    All rights reserved please indicate the source if reprint---吓尿了的大肥鼠
  • 相关阅读:
    Highmaps网页图表教程之图表配置项结构与商业授权
    Highmaps网页图表教程之Highmaps第一个实例与图表构成
    Highmaps网页图表教程之下载Highmaps与Highmaps的地图类型
    iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图
    iOS 9应用开发教程之多行读写文本ios9文本视图
    基于STM32的电池管理系统触摸屏设计方案
    如何使用UDP进行跨网段广播(转)
    STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
    基于MDK编程STM32程序无法使用,硬件仿真在汇编窗口看到停留在“0x0800XXXX BEAB BKPT 0xAB //进入调试模式”
    IIR 滤波器的实现(C++)
  • 原文地址:https://www.cnblogs.com/realsoul/p/5511784.html
Copyright © 2020-2023  润新知