gpt4 book ai didi

javascript - 正则表达式的替代方案 $1 进行替换

转载 作者:行者123 更新时间:2023-12-03 07:23:09 24 4
gpt4 key购买 nike

我正在尝试使用 javascript 中的 .replace() 修改子字符串。

基本上我想在比赛前后放置任意文本。

var pattern = new RegExp("<div"+"(.*?)>", "g");

var text = "<div><div class='someClass'>"

text = text.replace(pattern, "<pre>"+"<div>"+ "$1" + ">" +"</pre>")

上面的代码将文本更改为:

"<pre><div>></pre><pre><div> class='someClass'></pre>"

除了额外的“>>”之外,这是正确的,但在替换功能中它很难看。

我如何更改我的正则表达式,以便我

  1. 不必使用 $1,因为它不受完全支持 according to this

  2. 如何将替换更改为更简单的内容,例如

    text = text.replace(pattern, "<pre>"+ "THING_THAT_MATCHED" +"</pre>")

最佳答案

使用以下代码:

var pattern = new RegExp("<div"+"(.*?)>", "g");

var text = "<div><div class='someClass'>"

text = text.replace(pattern, function(match, first_match) {
return "<pre>"+"<div>"+ first_match + ">" +"</pre>"
})
<小时/>

另请注意,您的代码使原始代码更加整洁,如下所示:

var pattern = new RegExp("<div"+"(.*?)>", "g");

var text = "<div><div class='someClass'>"

text = text.replace(pattern, "<pre><div>$1></pre>")

关于javascript - 正则表达式的替代方案 $1 进行替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36117153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com