RegExp(regular expression) 是正则表达式的缩写。常用于文本的解析、格式检查、替换等。
创建正则对象
// 通过RegExp对象创建
let patt1 = new RegExp('e')
// 直接赋值方法
let patt2 = /e/
RegExp的三个对象方法
test()
校验字符串,返回true或false
例子(校验字符串中是否含有‘e’):
let patt1 = new RegExp('e')
patt1.test('abcde') // true
patt1.test('abc') // false
exec()
- 检索字符串中指定值,若匹配则返回一个数组实例对象,否则返回Null。
例子(检索字符串‘e’)
let patt1 = new RegExp('e')
patt1.exec('abc') // null
patt1.exec('eeee') // ["e", index: 0, input: "eeee", groups: undefined]
// 备注:['1', index: 0] 表示的是
let test = new Array('1')
test.index = 0
console.log(test) // ['1', index: 0]
- 如果想要查找所有匹配的字符串或字符,可以使用g参数。如
new RegExp('e', 'g')
或/e/g
。此时,exec方法,可以重复调用获取所有匹配的字符串或字符
例子(检索所有字符串‘e’)
{
const str = 'aebe'
const regex = /e/g
let arr1
// arr1.index 匹配字符的当前位置
// regex.lastIndex 匹配的字符串或字符的后一个位置
while ((arr1 = regex.exec(str)) !== null) {
console.log(arr1[0], arr1.index, regex.lastIndex)
// e 1 2
// e 3 4
}
}
compile()
重新编译正则,改方法已被弃用,不建议再被使用。
网友评论