简单解析JavaScript中的正则表达式(三)

简单解析JavaScript中的正则表达式(三)

本片博客主要来和大家讲一下正则表达式实际的应用。

1.正则表达式的范围 []

中括号用于查找某个范围内的字符:

    // [abc]	查找方括号之间的任何字符。
    // [^abc]	查找任何不在方括号之间的字符。  除去
    // [0-9]	查找任何从 0 至 9 的数字。
    // [a-z]	查找任何从小写 a 到小写 z 的字符。
    // [A-Z]	查找任何从大写 A 到大写 Z 的字符。
    // [A-z]	查找任何从大写 A 到小写 z 的字符。
    // [adgk]	查找给定集合内的任何字符。
    // [^adgk]	查找给定集合外的任何字符。

    var reg=/abc/;
    var reg2=/[abc]/;
    var reg3=/[^a]/;//除
    console.log(reg.test(str));
    console.log(reg2.test(str));
    console.log(reg3.test(str2));
    
    // (red|blue|green)	查找任何指定的选项。  或
    var reg3=/(a|b|c)/;
    var str3="hello a";
    console.log(reg3.test(str3));   
2.正则表达时的元字符

元字符(Metacharacter)是拥有特殊含义的字符:

    var str="hello China";
    // .	查找单个字符,除了换行和行结束符。   任意字符
    var reg=/[.]/;
    console.log(reg.test(str));

    // \w	查找单词字符。
    var reg2=/\w/;
    var str2="你好,中国a";
    console.log(reg2.test(str2));
    // \W	查找非单词字符。

    // \d	查找数字。
    // \D	查找非数字字符。
    // \s	查找空白字符。
    // \S	查找非空白字符。
    // \b	匹配单词边界。
    // \B	匹配非单词边界。
    // \0	查找 NULL 字符。
    // \n	查找换行符。
    // \f	查找换页符。
    // \r	查找回车符。
    // \t	查找制表符。
    // \v	查找垂直制表符。
    // \xxx	查找以八进制数 xxx 规定的字符。
    // \xdd	查找以十六进制数 dd 规定的字符。
    // \uxxxx	查找以十六进制数 xxxx 规定的 Unicode 字符。
3.正则表达式的量词

    // n{X}	匹配包含 X 个 n 的序列的字符串。
    var reg=/a{3}/;
    var str="aaaa";
    console.log(reg.test(str));

    // n{X,}	X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。
    var reg2=/a{3,}/;
    var str2="aaaa";
    console.log(reg2.test(str2));

    // n{X,Y}	X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。
    var reg3=/a{3,5}/;
    var str3="aaaaaaa";
    console.log(reg3.test(str3));
    
    // n+	匹配任何包含至少一个 n 的字符串。   n{1,}

    // n*	匹配任何包含零个或多个 n 的字符串。   n{0,}

    // n?	匹配任何包含零个或一个 n 的字符串。  n{0,1}


 

    
    // ^n	匹配任何开头为 n 的字符串。
    var reg5=/[^a]/;
    var str5="baaaaa";
    console.log(reg5.test(str5));


    var reg6=/^a/;
    console.log(reg6.test(str5));
   // n$	匹配任何结尾为 n 的字符串。

    var reg7=/a$/;
    console.log(reg7.test(str5));


    // 网址?   http://www.baidu.com.cn
    var reg10=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;

    // ?=n	匹配任何其后紧接指定字符串 n 的字符串。
    // ?!n	匹配任何其后没有紧接指定字符串 n 的字符串。

视频讲解链接:
https://www.bilibili.com/video/BV1Ez4y197Ta/

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值