替换为Javascript中的$$
我想用javascript中的$$替换出现的所有特定字符串 但是,当我尝试替换时,它只替换单个字符 例如,此示例输出替换为Javascript中的$$,javascript,regex,Javascript,Regex,我想用javascript中的$$替换出现的所有特定字符串 但是,当我尝试替换时,它只替换单个字符 例如,此示例输出$sd。正确的输出应该是$$sd 我也试过了 text =text.replace(/sf/gi,"$$"); 由于$是为正则表达式保留的,因此在$上加倍将不会达到预期目的 text = "sfsd"; text = text.replace(/sf/gi,"$$$$"); document.getElementById("x").innerHTML = text; 由于$是
$sd
。正确的输出应该是$$sd
我也试过了
text =text.replace(/sf/gi,"$$");
由于
$
是为正则表达式保留的,因此在$
上加倍将不会达到预期目的
text = "sfsd";
text = text.replace(/sf/gi,"$$$$");
document.getElementById("x").innerHTML = text;
由于
$
是为正则表达式保留的,因此在$
上加倍将不会达到预期目的
text = "sfsd";
text = text.replace(/sf/gi,"$$$$");
document.getElementById("x").innerHTML = text;
美元符号有一个特殊的含义,它意味着当与一个数字(如$1)结合使用时,捕获组的数量只是$的文字,第一个$将扮演转义字符的角色。将$$$用于$$ 更多信息:
美元符号有一个特殊的含义,它意味着当与一个数字(如$1)结合使用时捕获的组数。$$只是$的文字,第一个$将扮演转义字符的角色。将$$$用于$$ 更多信息:
$
是保留的,就像$&
是保留的一样,因此请使用其中三种:
text=text.replace(/sf/gi,"$$$");
$
是保留的,就像$&
是保留的一样,因此请使用其中三种:
text=text.replace(/sf/gi,"$$$");
尝试将您的html设置为:
<div id="x">sf sd</div>
<div id="wmd-input"></div>
正如@Mr polywhill所指出的,您需要使用另一个
$
来避开$
,并获得一个文字符号$
。尝试将您的html设置为:
<div id="x">sf sd</div>
<div id="wmd-input"></div>
正如@Mr polywhill所指出的,您需要使用另一个
$
来转义$
,并获得一个字面符号$
。这是完全荒谬的,当然XD反斜杠会转义所有其他符号,包括在正则表达式模式中。但是,是的,这是正确的+1查看Java的printf()
:您必须键入%
两次才能真正打印它。@NiettheDarkAbsol:\$
在字符串值传递给替换之前解析。由于\$
是一个无效的转义序列,相当于$
,因此函数接收的所有字符串值都是$
。它对此无能为力。这是完全荒谬的,当然XD反斜杠逃避了其他一切,包括在正则表达式模式中。但是,是的,这是正确的+1查看Java的printf()
:您必须键入%
两次才能真正打印它。@NiettheDarkAbsol:\$
在字符串值传递给替换之前解析。由于\$
是一个无效的转义序列,相当于$
,因此函数接收的所有字符串值都是$
。实际上,只保留了$
后跟其他字符的某些模式。这包括$
或$&
。这就是为什么这个解决方案有效。单个/唯一的$
没有特定含义(按字面理解)。很好@费利克斯克林谢谢,我将编辑我的答案…实际上,只保留了$
的某些模式,后跟其他字符。这包括$
或$&
。这就是为什么这个解决方案有效。单个/唯一的$
没有特定含义(按字面理解)。很好@谢谢,我将编辑我的答案。。。