正则中字符串的方法(search;match;replace)

1.search

语法:字符串.search(正则)
找到:返回第一次出现的下标
没找到:返回-1

<script>
        // 1. search
        const reg = /\d{3}/
        const str1 = '你好123QF456'
        const str2 = '你好'

        console.log(str1.search(reg))   // 返回的是首次出现的下标2
        console.log(str2.search(reg))   // 没有找到, 所以返回的是 -1
</script>

2.match

语法:字符串.match(正则)
作用:
1.当正则没有添加修饰符g的时候, 作用类似于 正则.exec()
捕获到的时候, 是一个数组, 数组下标0的位置是捕获到的值
多次捕获的时候, 每次都从 下标0开始捕获
没有捕获到的时候 返回一个 null
2.当正则添加修饰符g的时候
捕获到的是一个数组, 数组里的成员是捕获到的每一个值
没有捕获到的时候, 返回一个 null

<script>
        const reg = /\d{3}/
        const reg1 = /\d{3}/g
        const str1 = '你好123QF456'
        const str2 = '你好'

        console.log(str1.match(reg))    // ['123', index: 2, input: '你好123QF456', groups: undefined]
        console.log(str2.match(reg))    // 没有找到, 返回一个 null

        console.log(str1.match(reg1))    // ['123', '456']
        console.log(str2.match(reg1))   // 没有找到, 返回一个 null

</script>

3.replace

语法:字符串.replace(正则,要替换的字符)
作用:通过正则找到对应的字符,将其替换

<script>
        const reg = /\d{3}/
        const reg1 = /\d{3}/g
        const str1 = '你好123QF456'
        const str2 = '你好'

        console.log(str1.replace(reg, '***'))  // 你好***QF456
        console.log(str1.replace(reg1, '***'))  //你好***QF***
        console.log(str2.replace(reg, '***'))  //你好
        console.log(str2.replace(reg1, '***'))  //你好
</script>

猜你喜欢

转载自blog.csdn.net/weixin_48649246/article/details/127855439