Regex __dirname不';我不能在正则表达式中工作

Regex __dirname不';我不能在正则表达式中工作,regex,node.js,Regex,Node.js,我正在尝试从需要复制的目录中删除_udirname(递归)。我收集有关该问题的信息: console.log(typeof __dirname); // string console.log(__dirname); // c:\test 我需要从程序中获取的字符串创建正则表达式。因此,我必须使用RegExp(myString)。我在JSFIDLE上做了一个现实检查,以确保正确的逃离方法是\/ 我在浏览器中运行代码,它可以正常工作。我在node.js中运行代码,但它不起作用。我通过尝试从uudi

我正在尝试从需要复制的目录中删除_udirname(递归)。我收集有关该问题的信息:

console.log(typeof __dirname); // string
console.log(__dirname); // c:\test
我需要从程序中获取的字符串创建正则表达式。因此,我必须使用
RegExp(myString)
。我在JSFIDLE上做了一个现实检查,以确保正确的逃离方法是\/

我在浏览器中运行代码,它可以正常工作。我在node.js中运行代码,但它不起作用。我通过尝试从uudirname中删除
RegExp(uuudirname)
来实现这一点


如果您有一个字符串
var s=\u dirname.toString()+“myOtherPath/a.cat”
如何从s中删除字符串的\u dirname部分?

您的正则表达式示例是错误的。正则表达式用于删除反斜杠。但是字符串本身既没有反斜杠也没有斜杠

var y = "c:\y";
//"c:y"
要正确添加反斜杠,必须

var y = "c:\\y";
//"c:\y"
您的示例可以在linux中工作,其中分隔符为/,不需要转义。此外,看起来您正在执行子字符串替换,而不是正则表达式替换。因此,在replace中简单地给出_dirname就足够了:

var y = __dirname;
var z = y.replace(__dirname,"").toString();

您的正则表达式示例是错误的。正则表达式用于删除反斜杠。但是字符串本身既没有反斜杠也没有斜杠

var y = "c:\y";
//"c:y"
要正确添加反斜杠,必须

var y = "c:\\y";
//"c:\y"
您的示例可以在linux中工作,其中分隔符为/,不需要转义。此外,看起来您正在执行子字符串替换,而不是正则表达式替换。因此,在replace中简单地给出_dirname就足够了:

var y = __dirname;
var z = y.replace(__dirname,"").toString();

为什么不能使用replace或substring(dirname\u length)?我不确定我使用的路径是否与服务器使用的路径不同。如果它们使用不同长度的路径,则会中断。您是否可以显示使用新RegExp的实际代码?关于:
if(s.indexof(\uu dirname)==0)s.substring(\uu dirname.length)为什么不能使用replace或substring(dirname\u length)?我不确定我使用的路径是否与服务器使用的路径不同。如果它们使用不同长度的路径,则会中断。您是否可以显示使用新RegExp的实际代码?关于:
if(s.indexof(\uu dirname)==0)s.substring(\uu dirname.length)如果您想通过正则表达式搜索字符串,请参见@user1873073您正在打印y,打印z。如果您想通过正则表达式搜索字符串,请参见@user1873073您正在打印y,打印z。