1 概念
ECMAScript 通过 RegExp 类型支持正则表达式。
2 写法
2.1 类似 Perl 的简写语法:
let pattern = /a/g
let pattern2 = /a/i
2.2 构造函数创建:
let pattern = new RegExp('a', 'g')
let pattern = new RegExp('a', 'i')
上面两种是等价的正则表达式
3 修饰符(匹配模式)
- g: 执行全局匹配(查找所有匹配,而非在找到第一个匹配后停止)
- i: 忽略大小写
- m: 多行匹配(第一行末尾结束后会在下一行连续匹配)
4 常用方法
4.1 test()
测试字符是否满足正则表达式规则,返回 true / false
let pattern = /a/g
let str = a
console.log(pattern.test(str)) // true
4.2 search()
找到满足正则表达式的索引
let reg = /\d/ //匹配阿拉伯数字
let str = "abcdefg3sgbh"
let res = str.search(reg)
console.log(res) //7
//验证方法 找到返回下标 找不到返回-1
//在字符串中找到满足正则表达式的那一部分
4.3 exec()
寻找匹配项,返回第一个匹配信息的数组
如果匹配失败,exec() 方法返回 null
如果匹配成果,返回:
- 匹配字段
- index:索引值
- input:原始字符串
- groups:一个命名捕获组对象,其键是名称,值是捕获组。若没有定义命名捕获组,则 groups 的值为 undefined
let pattern = /a/g
let str = 'a b a'
pattern.exec(str)
// ['a', index: 0, input: 'a b a', groups: undefined]