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

传统字符串的方法

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

传统的小案例
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函数

  1. 正则一个js中全局内置对象 (var mydate = new Date()) php (正则)
  2. 正则是一个工具
  3. 简单声明方式: var re = /abc/;
  4. 构造函数声明方式 var re = new RegExp(‘abc’);

下面是一些正则表达式的经常使用匹配方法

1、Test():用正则去匹配的方法

1.返回值: 若是匹配成功 则返回true 不然匹配不成功 返回fals
2.写法: re.test(str); 用re去匹配str工具

正则当中的转义字符:

  1. .(点)——任意字符 若是就想只匹配.(点) 加转义字符 还原它原本的意思.
  2. d、D 匹配数字 / 非数字
  3. w、W 匹配字符/非字符 (字符:字母数字下划线 不包含空格)
  4. s 、S 空格/ 非空格
  5. b 、B 匹配独立部分/ 非独立部分

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

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

3、Match()

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

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

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

4、 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

以上即是我对正则表达式的一些小总结!

相关文章
相关标签/搜索