正则表达式
两种创建方式: 1. var reg = /a/; 一般使用这种
2. var reg = new RegExp(a);
对象两种方法: test() 匹配成功返回true 失败false
exec() 匹配成功返回这个匹配字符串的组成数组 失败为null
exec有两种属性 index 返回匹配的下标 和input表示原字符串
四种匹配方法: 1. match() 匹配 匹配成功就返回匹配成功的数组 失败返回null
2. search() 索引 搜索这个值有的话返回第一个出现的下标 没有返回-1 不需要查询每一个
3. replace() 替换 需要替换全部就加g全局
4. split() 分割 返回的是除了分割的字符 剩余的原数组 两个数组 ("fhdsg","sg")
{n} 限定符前的子模式必须出现恰好n次
{n,m} 限定符前的子模式至少出现n次,至多出现m次
{n,} 限定符前的子模式至少出现n次,至多没限制
+ 同{1,}
* 同{0,}
? 同{0,1}
d 匹配数字 与 [0-9] [0123456789]一个意思 为了简单。
D 相当于[^0-9]
w 匹配所有的字母和数字和下划线[A-Za-z0-9_]
W 相当于[^A-Za-z0-9]
s 包括空格(space)制表符(table)换页符等空白字符的其中任意一个
S 匹配非空格制表符等
匹配单词的边界
B 匹配非单词边界
查找制表符tab
匹配换行键
匹配回车
f 匹配换页
[] 查找括号里的字符
- 0-9和 0123456789一个意思
g 全局搜索 不再是查询到就会停止
i 搜索的时候不会区分大小写
() 用来作为分组
^ 托字符写在前面指的是以什么开始 写在中括号里表示取反
$ 以什么结束
| 或的意思 a|b 匹配a或b
[u4e00-u9fa5] 匹配汉字 汉字编码的范围