JavaScript正则表达式的两种写法[通俗易懂]

JavaScript正则表达式的两种写法[通俗易懂]JavaScript正则表达式可以使用正则表达式的特殊符号(//)来声明,也可以采用正则表达式对象(RegExp)来声明。1、使用正则表达式符号正则表达式符号为”//”,即为2个斜杠,中间为匹配规则。JavaScript中类似的特殊符号还有数组“[]”,对象“{}”。示例:      functionprintln(str){         document

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

JavaScript正则表达式可以使用正则表达式的特殊符号(/ /)来声明,也可以采用正则表达式对象(RegExp)来声明。

1、使用正则表达式符号

正则表达式符号为”/ /”,即为2个斜杠,中间为匹配规则。JavaScript中类似的特殊符号还有数组“[]”, 对象“{}”。

示例:

        function println(str){

            document.writeln(str + “<br/>”);
        }
        
    
        function test1(){

            var reg = /.*\.(jpg|jpeg|png|gif)$/;
            var str = ‘121%llskljfls.jpg2’;
        
            println(str.match(reg));        
            println(reg.test(str));        
        }
        
        function test1b(){

            var reg = /.*\.(jpg|jpeg|png|gif)$/i;
            var str = ‘121%llskljfls.JPG’;
        
            println(str.match(reg));        
            println(reg.test(str));        
        }
        
        function test2(){

            var str = ‘121%llskljfls.jpg’;

            var reg = new RegExp(‘/.*\.(jpg|jpeg|png|gif)$/’,’i’);
            println(str.match(reg));        
            println(reg.test(str));    
            println(‘使用new RegExp()方式,不能再添加斜杠(“/”)’);    
        }

使用i参数,则忽略大小写。竖线为或选择符,意即括号中的模式匹配上任何一种皆可。

2、使用正则表达式对象

使用正则表达式对象时,匹配规则不再需要“/ /”(2个斜杠),如果加上,结果就不对了。
        function println(str){

            document.writeln(str + “<br/>”);
        }

        function test3(){

            println(‘——————-test3———————–‘);
            var str = ‘121%llskljfls.jpg’;

            var reg = new RegExp(‘.*\.(jpg|jpeg|png|gif)$’,’i’);
            println(str.match(reg));        
            println(reg.test(str));        
            println(‘——————-test3———————–‘);            
        }
        
        function fileExtMatch(filename){

            var allowFileExt = [‘jpg’,’jpeg’,’png’,’gif’];
            var str = allowFileExt.join(‘|’);
            println(‘str:’ + str);
            var reg = new RegExp(‘.*\.(‘ + str + ‘)$’,’i’);
            return  reg.test(filename);
        }
        
        function test4(){

            println(‘——————-test4———————–‘);        
            var strs =  ‘121%llskljfls.jpg’;
            
            var result  = fileExtMatch(strs);        
            println( ‘fileExtMatch match result:’ + result);    
            println(‘——————-test4———————–‘);        
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191475.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Web前端测试题

    JS题目:在JavaScript中()方法可以对数组元素进行排序。A.add()B.join()C.sort()D.length()答案:http://hovertree.com/ti

    2021年12月22日
    43
  • linux修改系统时间命令_centos设置系统时间

    linux修改系统时间命令_centos设置系统时间linux设置系统时间同步到硬件时钟#date日期%Y2017%y17#后两位%m06%d12%H-%M-%S%F#2017-06-19%T#15:48:22date

    2022年8月4日
    7
  • hbase拾遗「建议收藏」

    hbase拾遗「建议收藏」hbase拾遗

    2022年4月24日
    46
  • 静态局部变量和静态全程变量static。

    静态局部变量和静态全程变量static。1.什么是static?static是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。1.1static的引入我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题:如果想将函数中此变量的值保存至下一次调用时,如何实现?最容易想到的方法是定义为全局的变量,但定…

    2022年5月1日
    38
  • es集群搭建_k8s和docker搭建es集群

    es集群搭建_k8s和docker搭建es集群单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。ES集群搭建_使用docker-海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点-单点故障问题:将分片数据在不同节点备份(replica)ES集群介绍为什么需要集群ES集群相关概念搭建ES集群集群职责划分集群脑裂问题…

    2022年10月12日
    4
  • pip安装、卸载依赖包的命令

    pip安装、卸载依赖包的命令1.【下载】python-mpipinstall–upgradepip2.【指定下载】python3-mpipinstallpip==20.0.2

    2022年10月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号