目录:
- 正则表达式: RegExp
- 正则常用方法
- 正则字符
- 贪婪模式与非贪婪模式
- 分组与反向引用
正则表达式
- 字符串匹配的一种模式
- 用于简化字符串操作, 像字符串查询、匹配、替换...
- 创建正则对象:
- 函数构建:let reg = new RegExp('正则')
- 字面量方式创建:let reg = /正则/
正则常用方法
- 正则.test(字符串):正则去匹配字符串,如果匹配成功就返回真,匹配失败返回假
- 字符串.search(正则):正则去匹配字符串,如果匹配成功,就返回匹配成功的位置,如果匹配失败就返回-1
- 字符串.match(正则):正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,如果匹配不成功,就返回null
- 字符串.replace(正则,新字符):
正则去匹配字符串,匹配成功的字符被新的字符串替换,replace的写法:字符串.replace(正则,新字符串)
- 正则.exec(字符串):正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,index:表示第一个匹配的字符在原字符串中的位置,input:表示原字符串,groups:表示当初中命名的分组时匹配到的分组对象;如果匹配不成功,就返回null
正则字符
- 普通字符 a-z A-Z 0-9 ...
- 元字符 \d \D \w \W \s \S . [...] [^...]
- 限字符 {n} {n,} {n,m} + * ?
- 连接符 [2345678] <-> [2-8] [a-zA-Z0-9]
- 定位符 ^ 开始 $以结束 \b标记英文单词
- 选择符 | [a|b]
- 转义符 \n \.
- 修饰符 g 全局匹配 i 忽略大小写 m多行搜索
贪婪模式与非贪婪模式
- 1.在贪婪(默认)模式下,正则引擎尽可能多的重复匹配字符
- '12345678' /\d{3,6}/:会匹配前6个数字---->‘123456’
分组与反向引用
- 多个字符进行重复匹配使用分组,分组内容可以反向引用
- '2020-09-06' /(\d{4})-(\d{2})-(\d{2})/
- $1 $2 $3