javaScript中String中配合正则匹配的一些方法

目录

创建正则表达式

实例方法

字符串中的正则方法

字符串的 match()方法

字符串的 search()

字符串的 split()方法

字符串的 replace()

字符串的 trim()方法 


创建正则表达式

js 中 正则表达式表现为一个对象,该对象是通过RegExp构造的

扫描二维码关注公众号,回复: 15634890 查看本文章
var rag = /\d/gim;  //字面量

标志位 全局搜索后面加个 g ;不区分大小写加个 i ;多行匹配加个 m ;

验证某个字符串是否满足规则

在全局模式下 会接着上一次的接着匹配

在单行模式下 会从头开始匹配

正常模式下 是贪婪匹配 更改贪婪模式在量词后加上? 

实例方法 .test

RegExp.test(string) => true/false

实例方法 .exec

得到一个真数组 第一项表示匹配结果 index是匹配开始的下标 input是匹配的完整字符串

会受到 lastIndex 的影响改变匹配开始的下标位 匹配不到返回 null  

        var reg = /^\d/;
        console.log(reg.exec('123'));
        ["1", index: 0, input: "123", groups: undefined]
        0: "1"
        groups: undefined
        index: 0
        input: "123"
        length: 1
        __proto__: Array(0)

字符串中的正则方法

字符串的 match()方法

可以与正则表达式匹配  第一项表示匹配结果 index是匹配开始的下标

        var reg = /^\d/;
        var s = '123abc';
        console.log(s.match(reg));
        ["1", index: 0, input: "123abc", groups: undefined]
        0: "1"
        groups: undefined
        index: 0
        input: "123abc"
        length: 1
        __proto__: Array(0)

字符串的 search()

方法 返回第一次匹配到的下标 

        var reg = /^\d/;
        var s = '123abc';
        console.log(s.search(reg));-->0

字符串的 split()方法

分割字符串 利用正则表达式多种分割方式

        var reg = /[\t\s,-]/;
        var s = 'asadsa,sda sdad-sdd\tsdad';
        console.log(s.split(reg));
        (5) ["asadsa", "sda", "sdad", "sdd", "sdad"]
        0: "asadsa"
        1: "sda"
        2: "sdad"
        3: "sdd"
        4: "sdad"
        length: 5
        __proto__: Array(0)

字符串的 replace()

方法 返回用新的子串来替换被匹配的字符串 不会改变原来字符串 要开启全局匹配

        var reg = /[\s,]/g;
        var s = 'asadsa,sda sdad-sdd\tsdad';
        console.log(s.replace(reg,"'"));//-->asadsa'sda'sdad-sdd'sdad
        console.log(s.replace(/[\t\s,-]/g,","));//-->asadsa,sda,sdad,sdd,sdad

第二个参数可以是一个函数 函数的第一个参数match是匹配到的结果 把他进行大写

        var reg = /[\s,]/g; //正则表达式
        var s = 'asadsa,sda sdad-sdd\tsdad';
        console.log(s.replace(/\b[a-z]/g,function(match){
            return match.toUpperCase(); -->Asadsa,Sda Sdad-Sdd	Sdad
        }));

字符串的 trim()方法 

去掉字符串首位空格

        var reg = /[\s,]/g;
        var s = '   study   shcool class name  one abcd   ';
        console.log(s.replace(/\s*\b[a-z]\s*/g,function(match){
            return match.toUpperCase().trim();//-->StudyShcoolClassNameOneAbcd
        }));

猜你喜欢

转载自blog.csdn.net/weixin_55508765/article/details/116806411