Javascript 只替换整个单词,而不是单词

Javascript 只替换整个单词,而不是单词,javascript,regex,replace,Javascript,Regex,Replace,我试图只替换整个单词,但我的脚本替换了该单词的所有区分大小写的实例。这是我的密码: <script> function repl() { var lyrics = document.getElementById('Lyricstuff').value; var find = document.getElementById('rs1').innerHTML; var spantag = document.getElementById('rt1').innerHTML; var re

我试图只替换整个单词,但我的脚本替换了该单词的所有区分大小写的实例。这是我的密码:

<script>

function repl() {

var lyrics = document.getElementById('Lyricstuff').value;
var find = document.getElementById('rs1').innerHTML;
var spantag = document.getElementById('rt1').innerHTML;
var regex = new RegExp(find, "g");

document.getElementById('Results').value = lyrics.replace(regex, spantag) ;

}

</script>
<textarea id="Lyricstuff" cols="60" rows="10">C CAT cat</textarea>
 <button onclick="repl()">Replace</button>
<textarea id="Results" cols="60" rows="10"></textarea>
<span id="rt1">B</span><span id="rs1">C</span>

函数repl(){
var-lyris=document.getElementById('Lyricstuff').value;
var find=document.getElementById('rs1').innerHTML;
var spantag=document.getElementById('rt1').innerHTML;
var regex=新的RegExp(查找“g”);
document.getElementById('Results')。value=lyris.replace(regex,spantag);
}
猫
代替
卑诗省
在上面的示例中,结果显示为“B BAT cat”,但我期望的是“B cat”。我搜索了这个问题,没有找到任何相关的

谁能帮帮我吗?感谢您的帮助


我在这里加了一把小提琴:

如果你只想搜索整个单词,你可以用
\b
锚(单词边界)围绕你的搜索表达式

单词边界是介于
\w
和[
\w
或字符串的开始/结束]之间的任何位置。也就是说,它在字符之间进行匹配,其中一个字符匹配
[a-zA-Z0-9\]
,而另一个字符不匹配

函数repl(){
var-lyris=document.getElementById('Lyricstuff').value;
var find=document.getElementById('rs1').innerHTML;
var spantag=document.getElementById('rt1').innerHTML;
var regex=new RegExp('\\b'+find+'\\b',“g”);
document.getElementById('Results')。value=lyris.replace(regex,spantag);
}
C猫
代替

BC
你的js小提琴坏了,请查找这个[{FullName}]完美的正则表达式!这似乎与我的代码配合得很好。非常感谢您的帮助。但是,如果我写C#,似乎有一个错误。我唯一可以使用的额外字符是#符号。有什么办法可以解决这个问题吗?@Sudhin请发布你的C#代码(和输入),这样我就可以看一看了。我一直在测试代码,我想错误已经消失了。我会让你知道它是如何运行的。我已经更新了代码,但C#仍然存在问题。请检查代码,让我知道如何解决它。