JavaScript 正则表达式中 replace 方法的默认捕获组
在 replace 方法中,除了您自己编号的捕获组外,始终还可使用标准捕获组:%vFran - 整个匹配项, 和 - 匹配项之前和之后的部分字符串。让我们通过示例来看看它们的使用。
示例
让我们找到所有数字并用圆括号将它们括起来:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
结果,变量中将写入以下内容:
'(1) (23) (456)'
示例
让我们找到 @ 符号,并将其替换为它前面的内容、@ 本身和它后面的内容。将所有内容用圆括号括起来:
let str = '123@456';
let res = str.replace(/@/g, "(@)");
结果,变量中将写入以下内容:
'123(123@456)456'
示例
假设我们想找到美元符号并将其用反引号 `` 括起来。在这种情况下,为了防止 被当作命令处理,需要将美元符号写两次:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');
结果,变量中将写入以下内容:
'aaa `$` bbb'
实践任务
给定字符串:
let str = 'a1b2c3';
编写一个正则表达式,在每个数字旁边写上相同的数字。
给定字符串:
let str = 'sss site.ru zzz site.com kkk';
将域名替换为如下链接:
<a href="http://site.ru">site.ru</a>