zoukankan      html  css  js  c++  java
  • js正则表达


    正则表达式:
    2种声明方式,var reg = new RegExp(“abc”)
    var reg = /abc/
    不同之处在于第一种方式可以传参数(var x = “abc”)

    转义:
    所有在正则里边拥有特殊意义的字符都需要转义
    转义方式:在特殊字符前加(在字符串中也是转义的意思,所以在传参时要写\d)
    eg:
    "ac:"ads"";
    转义字符加特定的字母有特殊的意思:(正则中)

    d 数字;D 非数字; s/S 空格/非空格;

    w/W 字符(字母、数字、下划线)/非字符;

     独立部分(只要是独立的单词就行,除了w)(hot-dot) /dog/;
    B 非独立部分

    特殊字符:
    /

    标识:写在//之后或者传第二个参数
    i 不区分大小写
    g 全局匹配 match方法
    m 换行匹配


    方法:
    正则.test(字符串) 匹配成功返回true
    字符串.match(正则) 匹配成功返回(类)数组,否则null
    字符串.search(正则) 返回出现的下标
    字符串.replace(正则,字符(函数)参数) 正则匹配的替换成第二个参数(可以是函数) 函数的参数第一个是匹配的,第二个是子项
    字符串.split(正则)

    量词:
    {2,5} >=2 <=5 {2} {2,}
    在全局匹配的时候只返回一个,加上量词代表限制
    /d{2,5}/ 58a5s589 返回一个包含58 589的数组


    几个特殊量词有特殊符号表示:
    + {1,}
    ? {0,1}
    * {0,}

    字符集:
    代表一个范围
    [a-h] [u4e00-u9fa5] (汉字匹配)
    代表或者
    [ab] a或者b
    /[ab0-9]/ a或者b或者0-9 0-9是一个整体
    除了...之外
    [^ab] 除了a和b之外 ^必须放在开头才有意义


    子项:
    ()
    match方法如果没有加g,并且你有用()规定子项,则会显示/(a)(b)/
    /阿飞(很帅|好屌)/ 可以将|的全局变为一个区间

    或者:
    |
    全局 /阿飞很帅|阿飞很吊/

    ^ 起始部分 /^[1-9]/ 起始必须是1-9
    $ 结束部分 /[1-9]$/ 结束部分必须是1-9
    . 匹配所有字符 除了换行( ) 在字符集中是有特殊意义的!

    在字符集中具有特殊意义的有: . ] - ^(必须开头) /

  • 相关阅读:
    [TJOI2013]单词 AC 自动机
    NOIP 2017 逛公园 记忆化搜索 最短路 好题
    [BJWC2012]冻结 分层图最短路
    dijkstra STL 堆优化
    [POI2002][HAOI2007]反素数 数论 搜索 好题
    bzoj 2456: mode 思维题 好题
    [SDOI2012]Longge的问题 欧拉反演_欧拉函数
    [JLOI2011]飞行路线 分层图最短路
    页面加速优化
    制作html5微信页面的经验总结。
  • 原文地址:https://www.cnblogs.com/wusan/p/7685986.html
Copyright © 2011-2022 走看看