正则(个人认为学好正则,背诵就可以了)
专门检索模糊范围的字符串的一种规则。
简写(常用的情况):
不需要字符串拼接,不使用参数、变量的时候使用
'abc' -> 匹配'abc'中有没有bc -> /bc/
/放的是规则,遇到指定的字符串不加''号,直接写字符即可/
标准:
常用的情况:
在字符串拼接或有变量、参数的时候使用。new RegExp(//||'',修饰符);
转义符:
在+一个字母时可能会有一定含义,这些具有特殊含义的符号叫元字符。例如:
d
s
...
test:
//.test(string)
当前正则中是否有匹配的字符串,有就返回true,否则false
返回:布尔值
exec:
//.exec(string)
找到正则首次匹配的字符,放到数组中。
找不到就返回null
string.match(''||//)
把找到的字符串(不但能找一个,还能找一堆)放到数组中
找不到就返回null
正则的特性:
懒惰:
让它找一个,它绝对不找第二个,找到立马返回
如:
/a/ 只找一个a
贪婪:
让它找多个,它就会无限的找(有多少找多少)
如:
/d+/ 找一个或着无限个数字
***replace 替换(重点)
string.replace(''||正则,''||callback)
把第一个参数中的字符或者规则替换成第二个参数中的字符串或者return值
| 或者
callback:
每次匹配就会调用一次这个回调函数
默认的用法
第一个参数:(一般会给$0)
本次正则匹配的字符串
第二个参数:
本次正则匹配字符串的索引
第三个参数:
整个字符串
第四个之后参数:
undefined