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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Coursera 助学金模板

    Coursera 助学金模板最近准备开始在Coursera上刷编程课程,然鹅作为一个穷学生当然是负担不起几百刀一节的学费,还好可以申请助学金,真是雪中送炭……于是乎,我觉得要提前编一套模板出来便于以后用……刚刚提交了PythonforEveryone课程的申请,把内容写下来记录一下……理由Dearreviewers,IamastudentfromChinawhohasnoincome…

    2022年7月24日
  • 图像的拼接—-RANSAC算法

    图像的拼接—-RANSAC算法一、全景拼接的原理1.RANSAC算法介绍RANSAC算法的基本假设是样本中包含正确数据(inliers,可以被模型描述的数据),也包含异常数据(outliers,偏离正常范围很远、无法适应数学模

    2022年7月2日
  • map改变一个字母是什么_组合总和 leetcode

    map改变一个字母是什么_组合总和 leetcode原题链接给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[ [“ate”,”eat”,”tea”], [“nat”,”tan”], [“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。tclass Solution {public: vector<vector<string>> g

    2022年8月8日
  • linux查看内核版本_ubuntu查看内核版本号

    linux查看内核版本_ubuntu查看内核版本号文章目录前言一、使用`uname`命令查看二、使用`hostnamectl`命令查看三、通过查看`/proc/version`文件确认四、使用`/etc/issue`查看五、使用`lsb_release-a`查看前言以Ubuntu为例,介绍几个用来查看系统与内核版本的命令,拿起小本本记录下来!镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/一、使用uname命令查看uname命令显示多个系统信息,包括Linux内核体系结构,名称版本和

    2022年10月13日
  • C语言 爱心代码_用c语言编辑一个爱心

    C语言 爱心代码_用c语言编辑一个爱心需要的自取,看明白了就可以自己修改爱心的大小#include<stdio.h>intmain(){intn,k,m,p,q;for(n=1;n<=2;n++){for(k=1;k<=15-n;k++)printf(“”);for(m=1;m<=2*n;m++)printf(“*”);for(p=1;p<=5-2*

    2022年10月13日
  • 《JavaScript 模式》读书笔记(7)— 设计模式1

    这些模式已经出现了相当长的一段时间,并被证明在许多情况下都非常有用。这也是为什么需要自己熟悉并谈论这些模式的原因。虽然这些设计模式是与语言和实现方式无关的,并且人们已经对此研究了多年,但都主要是从强

    2022年3月25日

发表回复

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

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