**
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来将内容中和我们正则表达式相匹配的字符串相替换
**
ᴵ ʰᵒᵖᵉ ʸᵒᵘ ᶜᵃⁿ ᵒⁿˡʸ ˡᵒᵒᵏ ᶠᵒʳʷᵃʳᵈ ᵗᵒ ᵐᵉ.
----------------------我希望你满目山河 唯独向往我