美文网首页
js笔记07-正则表达式RegExp

js笔记07-正则表达式RegExp

作者: 大飞哥 | 来源:发表于2018-01-17 21:10 被阅读13次

    两种表示方式
    /正则表达式/ 或者 new RegExp('正则表达式')

    var re1 = /ABC\-001/;
    var re2 = new RegExp('ABC\\-001');  //注意 转义字符 \、
    
    re1; // /ABC\-001/
    re2; // /ABC\-001/
    

    查看是否匹配

    var re = /^\d{3}\-\d{3,8}$/;
    re.test('010-12345'); // true
    re.test('010-1234x'); // false
    re.test('010 12345'); // false
    

    切分字符串
    可以识别多个空格

    'a b   c'.split(' '); // ['a', 'b', '', '', 'c']
    'a b   c'.split(/\s+/); // ['a', 'b', 'c']
    'a,b, c  d'.split(/[\s\,]+/); // ['a', 'b', 'c', 'd'] 逗号
    'a,b;; c  d'.split(/[\s\,\;]+/); // ['a', 'b', 'c', 'd'] 分号
    

    分组

    var re = /^(\d{3})-(\d{3,8})$/;
    re.exec('010-12345'); // ['010-12345', '010', '12345']
    re.exec('010 12345'); // null
    

    贪婪匹配

    var re = /^(\d+)(0*)$/;
    re.exec('102300'); // ['102300', '102300', '']
    
    var re = /^(\d+?)(0*)$/;// 加问号?
    re.exec('102300'); // ['102300', '1023', '00']
    

    全局搜索
    增加标志g

    var r1 = /test/g;
    // 等价于:
    var r2 = new RegExp('test', 'g');
    

    相关文章

      网友评论

          本文标题:js笔记07-正则表达式RegExp

          本文链接:https://www.haomeiwen.com/subject/gnxpoxtx.html