为什么javascript使用正则表达式替换函数参数不能区分点和下划线?

为什么javascript使用正则表达式替换函数参数不能区分点和下划线?,javascript,html,Javascript,Html,我创建了一个简单的html页面,将rcm.Name替换为rcm.Name1。但它也将rcm\u Name更改为rcm.Name1。我不知道为什么这个全局搜索也将rcm\u Name更改为rcm.Name1 HTML: 函数myFunction(){ var str=document.getElementById(“demo”).innerHTML; var txt=str.replace(/rcm.Name/g,“rcm.Name”+“1”); document.getElementById(

我创建了一个简单的html页面,将
rcm.Name
替换为
rcm.Name1
。但它也将
rcm\u Name
更改为
rcm.Name1
。我不知道为什么这个全局搜索也将
rcm\u Name
更改为
rcm.Name1

HTML:

函数myFunction(){
var str=document.getElementById(“demo”).innerHTML;
var txt=str.replace(/rcm.Name/g,“rcm.Name”+“1”);
document.getElementById(“demo”).innerHTML=txt;
}
试试看

rcm.Name是id。rcm\u Name是元素的名称。这是相同的Id rcm。在正则表达式中,Name

代表任何字符。如果你想让它与特定的点匹配,你应该用
\
转义它。在您的例子中,
var txt=str.replace(/rcm\.Name/g,“rcm.Name”+“1”)
将完成此任务。

在正则表达式中
代表任何字符。如果你想让它与特定的点匹配,你应该用
\
转义它。在您的例子中,
var txt=str.replace(/rcm\.Name/g,“rcm.Name”+“1”)
将完成此任务。

在regex
中匹配任何单个字符


使用
\.
匹配regex
中您真正想要的
期间
字符

匹配任何单个字符


使用
\.
匹配您真正想要的
期间
字符

那么如何替换?那么如何替换?