为什么javascript使用正则表达式替换函数参数不能区分点和下划线?
我创建了一个简单的html页面,将为什么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(
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
中您真正想要的期间
字符匹配任何单个字符
使用
\.
匹配您真正想要的期间
字符那么如何替换?那么如何替换?