正则表达式

目录

简介

语法

修饰符

方括号

元字符

量词

RegExp 对象方法

支持正则表达式的 String 方法

正则表达式的使用示例

验证

匹配

替换

全文查找

忽略大小写

元字符的使用

字符集合的使用

常用的正则表达式


简介

正则表达式是描述字符格式的对象。正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

语法

var patt = new RegExp(pattern, modifiers);
// 抑或
var patt = /pattern/mmodifiers;

修饰符

正则表达式默认对大小写不做区分~

方括号

元字符

量词

RegExp 对象方法

支持正则表达式的 String 方法

正则表达式的使用示例

验证

        // 创建一个最简单的正则表达式对象
        var reg = /o/;
        // 创建一个字符串对象作为目标字符串
        var str = "hello world";
        // 调用正则表达式对象的 test() 方法验证目标字符串是否满足我们指定的模式
        var res = reg.test(str);
        console.log(res);

匹配

        // 创建一个最简单的正则表达式对象
        var reg = /o/;
        // 创建一个字符串作为目标字符串
        var str = "hello world";
        // 在目标字符串中查找匹配的字符,返回匹配结果组成的数组
        var resStr = str.match(reg);
        console.log(resStr);

替换

        // 创建一个最简单的正则表达式
        var reg = /o/;
        // 创建一个字符串作为目标字符串
        var str = "hello world";
        var newStr = str.replace(reg,'@');
        console.log(newStr); // 这里打印的结果是:hell@ world ==> 我们的正则表达式只能匹配第一个满足的字符~
        // 可以在正则表达式后面加上一个全部匹配
        var reg2 = /o/g;
        var newStr2 = str.replace(reg2,'!');
        console.log(newStr2); // 此时这里打印的结果就是:hell! w!rld

全文查找

        // 目标字符串
        var targetStr = "Hello World!";
        // 没有使用全局匹配的正则表达式
        var reg = /[A-Z]/;
        // 匹配
        var resultArr = targetStr.match(reg);
        // 数组长度为 1 
        console.log(resultArr.length);
        // 遍历数组,发现只能得到 H
        for (var i = 0; i < resultArr.length; i++) {
            console.log(resultArr[i]);
        }

对比

        // 目标字符串
        var targetStr = "Hello World!";
        // 使用全局匹配的正则表达式
        var reg = /[A-Z]/g;
        // 匹配
        var resultArr = targetStr.match(reg);
        // 数组长度为 2
        console.log(resultArr.length);
        // 遍历数组,发现能得到 H 和 W
        for (var i = 0; i < resultArr.length; i++) {
            console.log(resultArr[i]);
        }

忽略大小写

        // 目标字符串
        var targetStr = "Hello WORLD!";
        // 使用了忽略大小写且全文查找
        var reg = /o/gi;
        // 匹配
        var resultArr = targetStr.match(reg);
        // 数组长度为 2
        console.log(resultArr.length);
        // 遍历数组 得到 小写 o 和大写 O
        for (var i = 0; i < resultArr.length; i++) {
            console.log(resultArr[i]);
        }

元字符的使用

        var str01 = "I love Java";
        var str02 = "Java love me";

        // 匹配以 Java 开头
        var reg1 = /^Java/g;
        console.log(reg1.test(str01)); // false
        console.log(reg1.test(str02)); // true

        // 匹配以 Java 结尾
        var reg2 = /Java$/g;
        console.log(reg2.test(str01)); // true
        console.log(reg2.test(str02)); // false

        // 匹配是否为 Java 
        var reg3 = /^Java$/;
        var str03 = "Java";
        console.log(reg3.test(str01)); //false
        console.log(reg3.test(str02)); //false
        console.log(reg3.test(str03)); //true

字符集合的使用

// n 位数字的正则表达式
var targetStr = "123456789";
var reg =/^[0-9]{0,}$/;
// 或者 var reg = /^\d*$/;
var b = reg.test(targetStr); //true

// 数字 + 字母 + 下划线 6 - 16 位
var targetStr = "HelloWorld";
var reg = /^[a-z0-9A-Z_]{6,16}$/;
var b = reg.test(targetStr); //true

常用的正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值