javascript从入门到跑路-----小文的js学习笔记(16 — 1)--------正则表达式的创建和方法

**
javascript从入门到跑路-----小文的js学习笔记(1)---------script、alert、document。write() 和 console.log 标签


javascript从入门到跑路-----小文的js学习笔记目录
**

       关注小文我们一起学习进步。

一、正则表达式(Regular Expression)的含义

正则表达式到底是什么呢?

         我们先来看看含义: 正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式,简单的来说就是一个由字符序列形成的搜索模式。它可以是y一个简单的字符,也可以是一个复杂的模式,并且正则表达式可用于所有文本搜索和文本替换的操作。
      当我们在文中搜索数据时,我们可以用它来描述我们想要查询的内容。

二、正则表达式的应用场景

那么我们的正则表达式一般用在什么地方呢?下面我们简单的举两个例子:

1、我们的表单验证,类似于我们平常打游戏取的游戏名字,当你创建名字时,系统会为你进行搜索,看该用户名是否已经存在。

2、替换文本,我们可以在文档中使用一个正则表达式来表示某个特定文字,然后可以将其全部删除或者替换成其他的文字。

三、正则表达式的创建

正则表达式的创建一共有两种语法,

语法(1):字面量的形式 :/正则表达式主体/修饰符(可选)
在这里插入图片描述
这样就说明我们的正则表达式已经创建成功了:
在这里插入图片描述
语法(2):构造函数的形式: new RegExp()
在这里插入图片描述
这种写法同样也能将我们的正则表达式创建出来:
在这里插入图片描述
二者虽然都具有创建我们正则表达式的功能,
但是二者还是具有一定的区别:

            字面量形式内不能够放入变量和函数…
            构造函数形式内可以放入变量和函数

简单的说明一下,这个区别的意思就是:
先看我们下面两种写法,给m赋值为2,然后在创建正则表达式时,写入m,
(a)在这里插入图片描述 (b)在这里插入图片描述
执行结果:很显然,我们明明已经给m赋值为2,但是我们的第一种写法,创建出来依旧是/m/,只有我们的第二种写法,才成功为/2/.
(a)在这里插入图片描述 (b)在这里插入图片描述

四、正则表达式的方法

正则表达式的方法还是有好几个,那么下面我们说几个我们常用的:

test用于检测一个字符串是否与我们的正则表达式相匹配,返回布尔值
exec用于检测一个字符串是否与我们的正则表达式相匹配,返回数组
search()检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置
replace()在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

那么下面我们来分别解释以下:

1、test

语法: 正则表达式.test(内容)

简单的理解就是将我们的内容与我们的正则表达式相匹配,返回布尔值(匹配则返回true;不匹配则返回false)

那么下面我们简单的进行举例:
在这里插入图片描述
很显然我们b和我们的正则表达式a是匹配的,所以执行结果:
在这里插入图片描述
当然:
在这里插入图片描述
很显然二者不匹配:
在这里插入图片描述

2、exec

语法: 正则表达式.exec(内容)

exec 和上面我们的test 的作用一样,都是将我们的内容与我们的正则表达式相匹配,只不过返回的结果有所不同,我们的exec返回的是(若匹配则返回数组(你也可以简单记为返回它本身),若不匹配则返回null)

简单示例:
在这里插入图片描述
很显然二者匹配,执行结果:
在这里插入图片描述
当然不匹配则返回null
在这里插入图片描述
执行结果:
在这里插入图片描述

         这里补充一个和它差不多的方法 match,它和exec一样,如果匹配返回数组,如果不匹配则返回null,但是match支持全局,而我们的exec不支持全局。

3、search

语法:内容1.search(内容2)

可以检索字符串中指定的子字符串,也可以检索与正则表达式相匹配的子字符串,并返回子串的起始位置,那么我们的内容2既可以是正则表达式,也可以是我们的字符串,但是我们的内容1基本上都是字符串。

简单示例: 检索与正则表达式相匹配的子字符串
在这里插入图片描述
在这里插入图片描述
示例(2): 检索字符串中指定的子字符串
在这里插入图片描述
执行结果:
在这里插入图片描述
注意:这个起始位置是从0开始往后数的。如果不匹配则返回 -1

4、replace

语法: 内容.replace(“str1”,“str2”)

简单的理解就是用str2来代替我们内容里的str1,当然我们的str1既可以是我们要替换的内容中的字符,也可以是一个正则表达式,(写正则表达式的话,的意思就是,替换掉我们内容中和我们正则表达式相匹配的字符串)

简单示例(1):用一些字符替换另一些字符

在这里插入图片描述
执行结果:我们的aaa被我们的ccc所替换
在这里插入图片描述
简单示例(2):替换一个与正则表达式匹配的子串
在这里插入图片描述
执行结果:用我们的ccc来将内容中和我们正则表达式相匹配的字符串相替换
在这里插入图片描述

**
                      ᴵ ʰᵒᵖᵉ ʸᵒᵘ ᶜᵃⁿ ᵒⁿˡʸ ˡᵒᵒᵏ ᶠᵒʳʷᵃʳᵈ ᵗᵒ ᵐᵉ.
                     ----------------------我希望你满目山河 唯独向往我

在这里插入图片描述

  • 54
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 50
    评论
评论 50
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值