欢迎光临散文网 会员登陆 & 注册

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

2023-07-19 16:38 作者:兔丼  | 我要投稿

p109-116正则

正则的符号

元字符

书写在正则表达式内部的符号

基本元字符

/d: 表示的是一位数字

/D:表示的是一位非数字

/s:表示一位空白内容(空格 换行 缩进)

/S:表示一位非空白内容(空格 换行 缩进)

/w:表示一位数字、字母、下划线

/W:表示一位非数字、非字母、非下划线

.    表示非换行以外的任意内容

\   表示转义符 把有意义的转成没有意义的,没有意义的转成有意义的

边界符

^ 表示以什么开头

$  表示以什么结尾

/^ $/ 表示从头到尾

限定符

用来限定前面的符号出现的次数

*  表示前面的符号出现0次到多次

+  表示出现1次到多次

? 表示出现0次到1次

{n} 表示前面的符号出现指定的次数,n是几出现几次 

{n,} 表示前面符号至少出现n次

{n,m} 表示前面符号最少出现n次,最多出现m次

特殊符号

() 

含义1:整体  

含义2:单独捕获

|  或,左边的一个或者右边的都可以

[ ]  包含就是书写在这个符号中的任何一个都可以

注意: 一个包含符号 占 一个字符的位置

[^]  非  就是书写在这个符号中的任何一个都不可以

注意: 一个包含符号 占 一个字符的位置

-   至 或者是 到

一般和[]或者是[^]

必须是ASCII连续的

修饰符(标识符)

书写在正则表达式外面的符号,用来修饰整个正则

i  忽略大小写

这个 i 是写在正则的最后面的  `/\w/i`

g 全局匹配

这个 g 是写在正则的最后面的

`/\w/g`  全局匹配字母数字下划线


创建正则的区别

1,语法不同

字面量: var reg= /内容/ig

内置构造函数 var reg = new RegExp(‘内容’,‘ig’)

2,拼接字符串

字面量:不能拼接字符串

内置构造函数:能拼接字符串

3,基本字符元素的书写

字面量方式的时候, 直接书写 \s\d\w

内置构造函数书写的时候, 需要书写 \\s\\d\\w

4书写标识符的时候

字面量方式直接书写在正则的后面

内置构造函数, 以第二个参数的方式传递


正则的两大特性

懒惰性

当需要捕获一个内容时,只会捕获满足条件的第一个,不会记忆捕获到哪里。下次开始依旧是从头开始

解决方法:使用全局变量,或者g

贪婪性

尽可能多拿:能拿多少拿多少(多拿)

解决方法:使用非贪婪限定符   能拿多少拿多少(少拿) *? +? {n,}? {n,m}? ??


正则字符串的方法

字符串.方法名

字符串.replace(换下片段,换上片段)

返回值:替换好的字符串

特点:使用了正则没有g和普通字串没有区别,使用了全局g,有多少换多少。

字符串.search/indexOf(检测的内容)

检测字符串中有没有要的内容

返回值:若有返回满足条件的第一个索引值,若没有返回-1

特点:可以使用正则,但是没有区别

字符串.match(捕获的内容)捕获

返回值:没有就返回null

有就返回 一个数组,没有g捕获到的满足条件的是第一个;有g就有多少,捕获多少


正则预查

正向

正向肯定预查:(?=)

正向否定预查:(?!)

负向预查

负向肯定预查:(?<=)

负向否定预查:(?<!)


千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip的评论 (共 条)

分享到微博请遵守国家法律