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

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就有多少,捕获多少
正则预查
正向
正向肯定预查:(?=)
正向否定预查:(?!)
负向预查
负向肯定预查:(?<=)
负向否定预查:(?<!)