资讯专栏INFORMATION COLUMN

JS中的正则表达式的小知识总结

aboutU / 2771人阅读

摘要:下面我们来介绍一下什么是正则表达式定义正则也叫规则,是让计算机能够读懂人类的规则,正则都是操作字符串的,正则是一个强大的字符串匹配工具。

传统字符串的方法

1.indexOf ——查找对应字符的位置
2.SubString——用来截取字符串
3.charAt——在字符串中根据下标去找对应的字符
4.Split ——将字符串通过分割符转成数组

传统的小案例
    var str = "abc123def45ghijk67lmnxyd89"; // 得到所有的数字 并将相连的数字进行相连存储 如 ["123","45","67","89"]
    var arr = [];
        // 建立一个临时变量 用来拼接连续的数字字符串
        var temp = "";
        for(var i = 0; i < str.length; i++) {
            if(str.charAt(i)>="0"&&str.charAt(i)<=9) {
                // 进来之后肯定是数字
                temp += str[i];
            } else {
                if (temp) {
                    arr.push(temp);
                    // 清空这个临时变量 以便于下一次重新装载  连续的数字
                    temp = "";
                }
            }
        }
        // 防止 最后一些字符 是数字 不进else 就拼不进去了 所以这个在最后要判断如果temp里面还有 则在推进去一次
        if (temp) {
            arr.push(temp);
            temp = "";
        }
        console.log(arr);

上面的方法是传统的查找字符串的方法,我们会感觉的很麻烦,下面我们用正则表达式试试:

 var str = "abc123def45ghijk67lmnxyd89";
      console.log(str.match(/d+/g));

用正则表达式以后会觉得这样是简单了很多,提高我们的开发效率。

下面我们来介绍一下什么是正则表达式

定义:正则:也叫规则,是让计算机能够读懂人类的规则,正则都是操作字符串的,正则是一个强大的字符串匹配工具。
c) 正则:正则表达式Regular Expression var str var arr var re regexp

正则一个js中全局内置对象 (var mydate = new Date()) php (正则)

正则是一个工具

简单声明方式: var re = /abc/;

构造函数声明方式 var re = new RegExp(‘abc’);

下面是一些正则表达式的常用匹配方法 一、Test():用正则去匹配的方法

1.返回值: 如果匹配成功 则返回true 否则匹配不成功 返回fals
2.写法: re.test(str); 用re去匹配str

正则当中的转义字符:

.(点)——任意字符 如果就想只匹配.(点) 加转义字符 还原它本来的意思.

d、D 匹配数字 / 非数字

w、W 匹配字符/非字符 (字符:字母数字下划线 不包含空格)

s 、S 空格/ 非空格

b 、B 匹配独立部分/ 非独立部分

二、Search() 用正则进行匹配的方法

1.返回值: 如果匹配成功 则返回对应匹配的位置 否则匹配不成功返回-1
2.写法:str.search(re)
注意:正则中严格区分大小写 如果你想忽略大小写,忽略大小写(ignore简写)

三、Match()

1.返回值:如果匹配成功 则返回一个数组,会把匹配到字符保存到数组中
2.写法:str.match(re)
注意: 正则匹配:如果匹配成功 则不往后匹配了,g 全局匹配模式

var str = "abbbcdeBdbBzzsB";   // ["bbb","B","bB","B"]
var re = /B+/ig;  // new RegExp(‘B+’,’ig’);
console.log(str.match(re));

上面的i和g都是放置在第二斜杠后面

四、 Replace()

返回值:用正则去匹配字符串 ,将匹配到的字符进行替换 替换成新的字符

写法一: str.replace(re,新字符);
写法二: str.replace(re,function($0){

Console.log($0)
})
小案例:

将字符串("我的生活,我的爱人,我的世界")中的"我的"替换成"my"

var str="我的生活,我的爱人,我的世界";
document.write(str.replace(/"我的"/,"my"))//只替换了第一个后面的都没有被替换
document.write(str.replace(/"我的"/g,"my"))//全部的我的都替换成了my
以上便是我对正则表达式的一些小总结!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90399.html

相关文章

  • JavasScript重难点知识

    摘要:忍者级别的函数操作对于什么是匿名函数,这里就不做过多介绍了。我们需要知道的是,对于而言,匿名函数是一个很重要且具有逻辑性的特性。通常,匿名函数的使用情况是创建一个供以后使用的函数。 JS 中的递归 递归, 递归基础, 斐波那契数列, 使用递归方式深拷贝, 自定义事件添加 这一次,彻底弄懂 JavaScript 执行机制 本文的目的就是要保证你彻底弄懂javascript的执行机制,如果...

    forsigner 评论0 收藏0
  • 【读书笔记】《高性能JavaScript》

    摘要:性能访问字面量和局部变量的速度是最快的,访问数组和对象成员相对较慢变量标识符解析过程搜索执行环境的作用域链,查找同名标识符。建议将全局变量存储到局部变量,加快读写速度。优化建议将常用的跨作用域变量存储到局部变量,然后直接访问局部变量。 缺陷 这本书是2010年出版的,这本书谈性能是有时效性的,现在马上就2018年了,这几年前端发展的速度是飞快的,书里面还有一些内容考虑IE6、7、8的东...

    chengjianhua 评论0 收藏0
  • JavaScript系列(四) - 收藏集 - 掘金

    摘要:函数式编程前端掘金引言面向对象编程一直以来都是中的主导范式。函数式编程是一种强调减少对程序外部状态产生改变的方式。 JavaScript 函数式编程 - 前端 - 掘金引言 面向对象编程一直以来都是JavaScript中的主导范式。JavaScript作为一门多范式编程语言,然而,近几年,函数式编程越来越多得受到开发者的青睐。函数式编程是一种强调减少对程序外部状态产生改变的方式。因此,...

    cfanr 评论0 收藏0
  • Java开发

    摘要:大多数待遇丰厚的开发职位都要求开发者精通多线程技术并且有丰富的程序开发调试优化经验,所以线程相关的问题在面试中经常会被提到。将对象编码为字节流称之为序列化,反之将字节流重建成对象称之为反序列化。 JVM 内存溢出实例 - 实战 JVM(二) 介绍 JVM 内存溢出产生情况分析 Java - 注解详解 详细介绍 Java 注解的使用,有利于学习编译时注解 Java 程序员快速上手 Kot...

    LuDongWei 评论0 收藏0

发表评论

0条评论

aboutU

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<