gpt4 book ai didi

javascript - 正则表达式查找并替换文件 Javascript 中的文件路径

转载 作者:行者123 更新时间:2023-12-03 04:47:43 30 4
gpt4 key购买 nike

如果这个问题已被提出并得到解答,我深表歉意,但经过详尽的研究后我找不到它。

我有一个相当大的文本文件,其中嵌入了带有文件名和文本的文件路径。

问题:

  1. 其中一些文件路径是http,其他是规范文件路径。
  2. 普通文件路径可以以任何文件和扩展名结尾。
  3. 文件路径中的斜杠可以是/或\。

需要完成什么:我需要找到文件路径并替换它们,而不触及实际文件本身或扩展名的名称。例如:

E:\sam\sam2\sam3\fafa.png 需要替换为 foo\fafa.png 或 foo/fafa.png

但是,我无法触摸或替换任何 http 文件名。这些必须从查找和替换中排除。

我在正则表达式中尝试了多种可能性(我承认这是我编码技能的弱点),但似乎没有任何效果。

任何和所有帮助将不胜感激,如果您有时间解释该表达式。重要提示:与 Javascript/Node 一起使用的正则表达式将不胜感激。

最佳答案

你可以试试这个:

([a-zA-z]:(?:[\\|\/][a-zA-Z\d-_. ]+)*)([\\|\/])([a-zA-Z\d-_]+\.[a-zA-z]+)

并替换为:

`foo$2$3`;

Demo

const regex = /([a-zA-z]:(?:[\\|\/][a-zA-Z\d-_. ]+)*)([\\|\/])([a-zA-Z\d-_]+\.[a-zA-z]+)/g;
const str = `E:\\sam\\sam2\\sam3\\fafa.png
bla bla bla http://blabla\\sam\\sam2\\sam3\\fafa.png kla kla kla
zzz E:\\sam\\billings\\cricketer.png adfaffdas
asdfasdfsdf
`;
const subst = `foo$2$3`;
const result = str.replace(regex, subst);
console.log(result);

关于javascript - 正则表达式查找并替换文件 Javascript 中的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42803313/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com