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

    每一个正则表达式都是由元字符和修饰符组成的

    元字符:d

    常用的元字符:

    :代表转义符
    ^:以某一个元字符开始
    $:以某一个元字符结尾

    .:除了 以外的任意字符,去除换行符

    :换行符

    ():分组

    [^1|3]:除了1和3的其他

    [.]:确定是一个点

    D:除了数字以外的其他字符

    :匹配一个边界符

    w:数字,字母,下划线的任意一个字符[0-9a-zA-Z_]

    s:匹配一个空白符,一个制表符(tab键),空格,换页符

    量词元字符:6个

    *:代表出现次数的元字符,表示出现0到多次,0,1,2,3,可以不出现

    +:出现1到多次

    ?:出现0或者一次

    {n}:出现n次

    {n,}:出现n到多次

    {n,m}:出现n到m次

    d:代表0-9的数字,D:代表

    修饰符:

    g:全局global,全局匹配

    i:忽略大小写匹配

    m:多行匹配

    //exec

    var reg=/d+?/g;
    var str="fgwhfek29311bjfy49857311p5283ywe7ty";
    var ary=[];
    var res=reg.exec(str);
    while(res){
    ary.push(res[0]);
    res=reg.exec(str);
    }
    console.log(ary);

     ?:量词取消正则捕获的贪婪性

    //match

    console.log('-------');
    var reg=/d+?/g;
    var str="fgwhfek29311bjfy49857311p5283ywe7ty";
    var ary=[];
    var res=str.match(reg);

    var reg=/^(d{2})(d{4})(d{4})(d{2})(d{2})(?:d{2})(d)(d|X)$/;
    console.log(reg.exec('412420198309102342'));

    "?:":只匹配不捕获

    var reg=/^(d{2})(d{4})(d{4})(d{2})(d{2})(?:d{2})(?:d)(?:d|X)$/;
    console.log(reg.exec('412420198309102342'));
    var reg=/^(d{2})(d{4})(d{4})(d{2})(d{2})(?:d{2})(?:d)(?:d|X)$/;
    console.log('412420198309102342'.match(reg));
    var reg1=/qiqi(d+)/g;
    var str="qiqi123qiqi0998qiqi8239";
    console.log(reg1.exec(str));
    console.log(reg1.exec(str));
    console.log(reg1.exec(str));
    console.log(str.match(reg1));
    /*
    (6) ["412420198309102342", "41", "2420", "1983", "09", "10", index: 0, input: "412420198309102342"]
    ["412420198309102342", "41", "2420", "1983", "09", "10", index: 0, input: "412420198309102342"]
    ["qiqi123", "123", index: 0, input: "qiqi123qiqi0998qiqi8239"]
    ["qiqi0998", "0998", index: 10, input: "qiqi123qiqi0998qiqi8239"]
    ["qiqi8239", "8239", index: 21, input: "qiqi123qiqi0998qiqi8239"]
    ["qiqi123", "qiqi0998", "qiqi8239"]
    */

    var reg=/([a-z])([a-z])21/;
    console.log(reg.test('abba'));

    var reg=/([a-z])([0-9])(.)13/;
    console.log(reg.exec('a0eae'));

  • 相关阅读:
    系统的buffer 最小和最大值
    SpringCloud Alibaba微服务实战十二
    socket.recv(fd, buf, size, flag) &&setsockopt(fd, SOL_SOCKET, SO_RCVBUF, value, valuesize)
    源码阅读:Masonry(三)—— MASViewAttribute
    源码阅读:Masonry(三)—— MASViewAttribute
    源码阅读:Masonry(三)—— MASViewAttribute
    长江存储推全新3D NAND架构 挑战三星存储
    长江存储推全新3D NAND架构 挑战三星存储
    长江存储推全新3D NAND架构 挑战三星存储
    长江存储推全新3D NAND架构 挑战三星存储
  • 原文地址:https://www.cnblogs.com/qiqi105/p/8287762.html
Copyright © 2011-2022 走看看