正则关卡31:使用捕获组搜索和替换

正则表达式测试工具

搜索功能是很有用的。
但是,当搜索同时也执行更改(或替换)匹配文本的操作时,搜索功能就会显得更加强大。
可以使用字符串上.replace()方法来搜索并替换字符串中的文本。.replace()的输入首先是想要搜索的正则表达式匹配模式,第二个参数是用于替换匹配的字符串或用于执行某些操作的函数。

var wrongText = "The sky is silver.";
var silverRegex = /silver/;
console.log( wrongText.replace(silverRegex, "blue") );
// 返回 "The sky is blue." 

你还可以使用美元符号($)访问替换字符串中的捕获组。

let res = "Code Learn".replace(/(\w+)\s(\w+)/, '$2 $1'); // 返回 "Learn Code"
console.log(res);

闯关:编写一个正则表达式,以搜索字符串"good"。然后更新变量replaceText,用字符串"okey-dokey"替换"good"

var huhText = "This sandwich is good.";
var fixRegex = /change/; // 修改这行
var replaceText = ""; // 修改这行
var result = huhText.replace(fixRegex, replaceText);
console.log(result);

正确代码

var huhText = "This sandwich is good.";
var fixRegex = /good/;
var replaceText = "okey-dokey";
var result = huhText.replace(fixRegex, replaceText);
console.log(result);