JavaScript 正则表达式替换 $0

标签 javascript jquery replace

我有这个 jQuery,我想搜索一个字符串并替换它。我知道使用 php 我可以使用 $0, $1, $2 等来获得匹配项。

这就是我通过 php $0 执行此操作的方式,在此示例中将替换为找到的 plater 并保持其大写/小写形式:

preg_replace("/plater/i", "<span class='plater'>$0</span>", $input);

我如何在 javascript 中执行此操作?当我尝试 $0 时,它实际上向浏览器输出 $0,而不是找到的内容。这是我目前拥有的:

$(document).ready(function(){
    var html = $("body").html();
    $("body").html(html.replace(/plater/ig, "<span class='plater'>$0</span>"));
});

最佳答案

用括号捕获它并使用 $1 来引用“第一个”捕获组。

html.replace(/(plater)/ig, "<span class='plater'>$1</span>")

多种语言的正则表达式指南:http://www.regular-expressions.info/javascript.html

关于JavaScript 正则表达式替换 $0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14205538/

相关文章:

javascript - 为什么我的 javascript 不重新定位这个标题?

javascript - AngularJS $scope 应该只用于 View 需要访问的变量吗?

javascript - 最小化 jQuery 代码

javascript - 如何多次更换?

javascript - 一个接一个地执行 Promise(或 Deferreds),并且能够随时中断

javascript - 使用 node.JS 和 Socket.IO 的路径和其他问题

javascript - 用于 Rocket Chat iframe 身份验证的 NodeJS 应用程序抛出 SyntaxError : Unexpected token (

javascript - 停止从不同函数 onclick button2 调用 onclick button1 的递归函数

javascript - 当字符串包含括号时如何配置 RegExp

C++正则表达式替换整个单词