正则表达式

本文介绍了正则表达式在前端开发中的重要性,详细讲解了正则表达式的语法、创建方式以及相关方法,包括字符串方法和正则方法。内容涵盖了字符集、修饰符、边界、预定义类、量词、分组与或操作符,以及分组的反向引用。通过实例演示如何使用正则表达式进行字符串匹配、分割、替换等操作,特别强调了在处理中文匹配上的应用。
摘要由CSDN通过智能技术生成


前言

在前端中学习正则表达式是非常有必要的,在实际开发中会经常使用正则表达式。
正则表达式:(Regular Expression)用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。


一、正则表达式

正则表达式的作用:
1.给定的字符串是否符合正则表达式的过滤逻辑(匹配)
2.可以通过正则表达式,从字符串中获取我们想要的特定部分(提取)
3.强大的字符串替换能力(替换)

正则表达式语法

可以通过两种方式创建正则表达式:
(1)通过字面量的方式创建正则表达式 /abc/
(2)通过构造函数创建正则表达式 new RegExp(“abc”)
注意:通常使用字面量的方式创建正则表达式
接下来通过代码来体会创建正则表达式

    <script>
        //字面量创建正则表达式
        var reg = /abc/;
        //构造函数创建正则表达式
        var reg1 = new RegExp("abc");
    </script>

二、相关正则方法

1.字符串方法

(1)split:根据匹配的字符串分割父字符串
(2)search:使用正则表达式搜索字符串所在位置,并返回下标。
(3)match:使用正则表达式跟字符串作比较,返回一个包含匹配结果的数组。
(4)replace:使用正则表达式替换字符串,返回替换后的整个字符串。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //splice 方法: 分隔所匹配的指定字符串
        var str = "aa bbb    c dd eeeeee";
        var arr = str.split(/\s+/);
        console.log(arr);
        var str1 = "bbaacaaaadddaeeeeeaaf";
        var arr1 = str1.split(/a+/);
        console.log(arr1);

        //search 方法: 根据正则表达式找到字符串,并返回下标位置
        var str = "abcdefg";
        var a = str.search("cd");
        var b = str.search(/cdf/);
        console.log(a);
        console.log(b);

        //match 方法: 根据正则表达式匹配字符,返回一个包含匹配字符的数组
        var str = "abbcccbbbbbddbbbdabbb";
        var arr = str.match(/b+/);
        console.log(arr);
        var arr1 = str.match(/b+/g);
        console.log(arr1);
        var str1 = "aaaa o  o bbb o     o  aaa";
        var arr2 = str1.match(/o\s+o/g);
        console.log(arr2);

        //replace 方法: 根据正则替换字符
        var str = "www.baidu.com";
        var str1 = str.replace(/baidu/,"hello");
        console.log(str1);
    </script>
</body>
</html>

2.正则方法

(1)exec:在目标字符串中执行一次
(2)test:测试当前正则是否能匹配目标字符串

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //exec 方法:返回目标字符串第一次出现的位置
        //无论有没有全局修饰符,都只会找到第一次出现的位置
        var str = /abc/;
        console.log(str.exec("aaaabccccbacabc"));

        //test 方法: 返回是否包含在字符串内,包含返回true ,不包含返回false
        console.log(str.test("aaaabccccbacabc"));
    </script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值