zoukankan      html  css  js  c++  java
  • javascript笔记之正则表达式

    1.在js正则表达式特殊的需要转义的字符有:

     ^ $ . * + ?  = ! : | / ( ) [ ] { }

    但实际应用中,还要根据实际情况来判断,以上字符可能不需要转义,也可能不止以上字符需要转义,
    这些都取决于在当前情况下其是否会产生异义。

    2.js的正则表达式除啦按照数字和字母进行匹配,同时也支持非字母的字符匹配。需要作为前缀来转义。

    字符 正则   描述
    / / 制表符
    / / 制表符
    / / 回车符
    f /f/ 换页符
    a /a/ alert字符
    e /e/ escape字符
    cX /cX/ 与X相对应的控制字符
     // 与回退字符
    v /v/ 垂直制表符
    // 空字符

     3.匹配的字符类

    字符 等同于 描述
    . [^ ] 除了换行和回车之外的任意字符
    d [0-9] 数字字符
    D [^0-9] 非数字字符
    s [ x0Bf ] 空白字符
    S [^ x0Bf ] 非空白字符
    w [a-zA-Z_0-9] 单词字符(所有的字母)
    W [^a-zA-Z_0-9] 非单词字符

    4.用于模式匹配String的方法。

    -- search() 
    "javascript".search(/script/i);//4
    返回的是匹配到的位置。
    -- replace()
    "yes js i love js very much!".replace(/js/gi,'Java');//Java js i love Java very much!
    -- match()
    '2 is 5funcking 3'.match(/d+/g)//['1','2','3']
    -- split()
    可以接受一个正则表达式作为参数。
    "1 ,4 ,6 ,7".split(/s*,s*/g)//["1","4","6","7"]
    5.修饰符:
    --i 执行的时候不区分大小写
    --g 执行是一个全局的匹配。找到所有的匹配。
    --m 多行匹配模式。比如 的换行依然能够匹配。
  • 相关阅读:
    UVALive 6044(双连通分量的应用)
    hdu 3760(2次bfs求最短路)
    zoj 3370(二分+二分图染色)
    sgu 326(经典网络流构图)
    hdu 4291(矩阵+暴力求循环节)
    uva 11381(神奇的构图、最小费用最大流)
    hdu 4685(匹配+强连通分量)
    hdu 4496(并查集)
    hdu 4722(记忆化搜索)
    Linux安装Nginx使用负载均衡
  • 原文地址:https://www.cnblogs.com/heimanba/p/3833897.html
Copyright © 2011-2022 走看看