Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要正则表达式替换整个folderpath,同时保留文件名,因为最后一个文件夹可能会被任何内容替换_Javascript_Regex - Fatal编程技术网

Javascript 需要正则表达式替换整个folderpath,同时保留文件名,因为最后一个文件夹可能会被任何内容替换

Javascript 需要正则表达式替换整个folderpath,同时保留文件名,因为最后一个文件夹可能会被任何内容替换,javascript,regex,Javascript,Regex,我需要一个正则表达式,它可以替换像这样的东西,但保留文件名 /folder1/folder2/folder3/anything/somefile.html 还有人能告诉我如何用replace方法实现这个吗?将整个路径匹配替换为空字符串,然后再次离开文件,这将是任何内容 提前感谢。您可以使用*\/ 将匹配任何内容 *将重复前面的零次或更多次。 \/是文本斜杠(/)。但需要转义,因为它是正则表达式构造的一部分: var str = '/folder1/folder2/folder3/anything

我需要一个正则表达式,它可以替换像这样的东西,但保留文件名

/folder1/folder2/folder3/anything/somefile.html

还有人能告诉我如何用replace方法实现这个吗?将整个路径匹配替换为空字符串,然后再次离开文件,这将是任何内容


提前感谢。

您可以使用
*\/

将匹配任何内容
*
将重复前面的零次或更多次。
\/
是文本斜杠(
/
)。但需要转义,因为它是正则表达式构造的一部分:

var str = '/folder1/folder2/folder3/anything/somefile.html';
str.replace(/.*\//, ''); // "somefile.html"

您可以使用
*\/

将匹配任何内容
*
将重复前面的零次或更多次。
\/
是文本斜杠(
/
)。但需要转义,因为它是正则表达式构造的一部分:

var str = '/folder1/folder2/folder3/anything/somefile.html';
str.replace(/.*\//, ''); // "somefile.html"

您可以在不使用正则表达式的情况下执行此操作:

var filename = string.split('/').pop();
// "somefile.html"

您可以在不使用正则表达式的情况下执行此操作:

var filename = string.split('/').pop();
// "somefile.html"


我更新了我的问题。只需在不影响文件的情况下替换路径。@JudsonTerrell不是这样吗?这样看来,您的解决方案可以有无限级吗?@JudsonTerrell正则表达式将删除包括最后一个斜杠在内的所有内容。我更新了我的问题。只需在不影响文件的情况下替换路径。@JudsonTerrell不是这样吗?这样看来,您的解决方案可以有无限级吗?@JudsonTerrell正则表达式删除所有直到并包括最后一个斜杠。我想知道是否真的是为了对每个可能的分隔符都有一个StackOverflow的答案字符…要获取路径或文件名吗?我想知道是否真的需要对每个可能的分隔符字符的StackOverflow给出答案…要获取路径或文件名吗?@anubhava。反勾号称为字符串文字,它们不需要括号来执行函数。是的,我知道,但所有浏览器都支持它们吗?我想说现代浏览器支持,但你是对的,最好现在就避免使用它们。@anubhava。反勾号称为字符串文字,它们不需要括号来执行函数。是的,我知道,但所有浏览器都支持它们吗?我想说现代浏览器支持,但你是对的,最好现在就避免使用它们。