正则表达式中的变量表示法是一种用来引用匹配到的分组的方法,可以在替换操作中使用。在正则表达式中,可以用括号 ()
将某个部分作为一个分组,从而将其单独提取出来。然后,在替换操作中可以使用 $数字
的方式引用这些分组。
例如,在字符串中查找并替换所有的日期格式,可以使用以下代码:
const text = "Today is 2022-01-01, tomorrow is 2022-01-02";
const pattern = /(\d{4})-(\d{2})-(\d{2})/g;
const result = text.replace(pattern, "$3/$2/$1");
console.log(result); // "Today is 01/01/2022, tomorrow is 02/01/2022"
在上面的例子中,我们使用了正则表达式 /(\d{4})-(\d{2})-(\d{2})/g
来匹配日期格式,并使用了括号将年、月、日作为三个分组进行提取。然后,我们在替换操作中使用了 $3/$2/$1
的形式来引用这三个分组,从而将日期格式替换成了按照日/月/年排序的形式。
需要注意的是,如上例中所示,在替换操作中使用 $数字
的方式来引用分组时,数字是从左到右递增的,从 1 开始计数。