我有路径
../dir1/dir2/dir3/filename.txt
并且想使用正则表达式提取最终 filename
和 \
之间的 .
。文件扩展名也不总是 .txt
。
目前我正在做
(?<=\/).+(?=\.)
,但从第一个\
中选择,包括目录名称。我希望这只是基于匹配而不是使用组。哦,如果这很重要,请使用 ECMA 正则表达式。
您可以尝试使用正则表达式
[^\/]+(?=\.[^.]+$)
,通过排除路径并捕获文件名中最后一个点 (.) 之前的文本来匹配文件名。
const filePath = '../dir1/dir2/dir3/filename.txt';
const filename = filePath.match(/[^\/]+(?=\.[^.]+$)/);
console.log(filename[0]); // Output: filename