gpt4 book ai didi

正则表达式从 url 获取文件名

转载 作者:行者123 更新时间:2023-12-04 02:30:29 34 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来从 url 中获取文件名(如果存在)。

这是我到目前为止:

(?:[^/][\d\w\.]+)+$

所以来自网址 http://www.foo.com/bar/baz/filename.jpg , 我应该匹配 filename.jpg
不幸的是,我匹配了最后一个 / 之后的任何内容.

我怎样才能收紧它,让它只在它看起来像一个文件名时才捕获它?

最佳答案

上面的示例无法从此 URL 获取文件名“file-1.name.zip”:

"http://sub.domain.com/sub/sub/handler?file=data/file-1.name.zip&v=1"

所以我创建了我的 REGEX 版本:
[^/\\&\?]+\.\w{3,4}(?=([\?&].*$|$))

解释:
[^/\\&\?]+          # file name - group of chars without URL delimiters
\.\w{3,4} # file extension - 3 or 4 word chars
(?=([\?&].*$|$)) # positive lookahead to ensure that file name is at the end of string or there is some QueryString parameters, that needs to be ignored

关于正则表达式从 url 获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14473180/

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