正在表达式 - v1
1. 百度百科 - 正则表达式
https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin
2. 匹配符含义
符号 | 描述 |
$$ | 插入一个 "$" |
$& | 插入匹配的子串 |
$` | 插入当前匹配的子串左边的内容 |
$' | 插入当前匹配的子串右边的内容 |
$n | 假如第一个参数是 RegExp对象, 并且 n 是个小于100的非负整数, 那么插入第 n 个括号匹配的字符串. 提示: 索引是从1开始. 如果不存在第 n个分组, 那么将会把匹配到到内容替换为字面量 |
. | 比如不存在第3个分组, 就会用"$3"替换匹配到的内容 |
$Name | 这里Name 是一个分组名称. 如果在正则表达式中并不存在分组(或者没有匹配), 这个变量将被处理为空字符串. 只有在支持命名分组捕获的浏览器中才能使用 |
使用示例:
// 示例1: const origin = 'abc123abc' const newStr = origin.replace(/\d/g, '<<$&>>') // newStr = 'abc<<1>><<2>><<3>>abc' // 示例2: const origin = 'abc123abc' const newStr = origin.replace(/\d+/g, '<<$&>>') // newStr = 'abc<<123>>abc'
3. 其他
转自:https://www.zhihu.com/question/519758290/answer/2372262972