预定义类型
. 除了空格和回车的所有字符
\d [0-9] 匹配所有有数字
\D [^0-9] 匹配所有非数字
\s 所有不可见字符
\S 所有可见字符
\w 匹配所有字母 下划线 数字
\W 匹配所有非字母 下划线 数字
g 全局匹配
i 不区分大小写
gi 全局不区分大小写
范围类
[ abc] 里面的任意字符
[^abc] 不是括号里面的所有 要在[ ]类使用
组合类
[0-9][a-z] 第一个包含0-9 第二个 是a-z 的任意字母
边界
^ 以什么开头
$ 以什么结束
量词
- 大于等于一个
- 大于等于0个
? 0 | 1 词
{5} 出现5次
{5,} 5次以上
{0,5} 0次到5次
字符串提取
str.match(/\d/) 提取第一数字
str.match(/\d/g) 提取所有数字 返回是一个数组
分组提取
例
let str = "a=3 "
let reg = /(\w)=(\d)/g
// let arr = str.match(reg)
// console.log(arr);
reg.test(str)
console.log(RegExp.$1); // a
console.log(RegExp.$2); // 3
总结 ( ) 起来的就是 一个组 $1 指的是先后顺序
检索
str.serch()
let str = ‘我今年18’
//search 找到相匹配的 数字 索引 只会第一个
let str1 = str.search(/\d/)
console.log(str1); //2
exec 方法
和 match 方法类似 单只会提取第一个