正则表达式匹配URL末尾的文件名
Regex to match filename at end of URL
使用以下文字:
http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg
和其他类似的文本,其中最后一个1
可以是任何其他数字,最后一个44
也可以是任何其他数字,我需要一个匹配/1t44.jpg
的正则表达式。
到目前为止,我所尝试的所有内容(/.+?'.([^'.]+)$
)都与第一个斜杠(//img.oo.com.au/prod/CRWWBGFWG/1t44.jpg
)匹配。
我使用的是JavaScript,所以RegexPal上的任何工作都应该做。
下面是一个简单的正则表达式,它将匹配最后一个/
之后的所有内容:
/[^/]*$
如果您希望将文件名与特定的文件扩展名相匹配,您可以使用如下命令:
/'/'dt'd'd'.jpg$/
这比赛:
- /
- 后接数字
- 后接字母"t"
- 后面跟着两位数字
- 在字符串 的末尾跟着'.jpg'
或者,如果你真的只想要文件名(最后一个斜杠后面的任何文件扩展名),那么你可以使用这个:
/'/[^'/]+$/
这比赛:
- /
- 后接一个或多个非斜杠字符 字符串末尾的
在http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg
的示例字符串中,这两个都将匹配/1t44.jpg
。第一种显然限制更大,因为它需要文件名的特定格式。第二个匹配任何文件名。
其他选择。在node.js开发中,您可以使用path
模块和path.parse()
将路径分解为所有不同的组件。
并且,有各种为浏览器编写的库也会将路径分解为其组件
正如Johnsyweb所说,这里并不真正需要正则表达式。我想最快的方法是使用lastIndexOf
和substr
。
str.substr(str.lastIndexOf('/'));
当然你不必使用正则表达式来split
一个字符串和pop
的最后一部分:
var str="http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg";
var parts = str.split("/");
document.write(parts.pop() + "<br />");
根据Scott的回答,尝试如下:(JavaScript)
var url = "http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg";
var path = url.replace(/(.*)(['''/][^'''/]*$)/, "$1" );
var lastElement = url.replace(/(.*)(['''/][^'''/]*$)/, "$2" );
这也可以匹配Windows/Nix文件路径,提取文件名或文件路径:
c:'Program Files'test.js => c:'Program Files
c:'Program Files'test.js => 'test.js
这是针对Linux机器上的Java的。它获取文件路径的最后一部分,以便它可以用于创建文件锁。
// String to be scanned to find the pattern.
String pattern = ".*?([^/.]+)*$";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher match = r.matcher("/usr/local/java/bin/keystore");
/**
* Now you have two matches
* #0 /usr/local/java/bin/keystore
* #1 keystore
*/
String fileLock = "";
if (match.find()) {
fileLock = match.group(1) + ".lock";
}
我知道和原来的问题有点不同。但我希望这能帮助到那些和我有同样问题的人。
- Javascript匹配以从URL中删除部分文件名-替换最后一次出现的内容
- 如何从 URL 中获取文件名和扩展名
- 从url获取文件名
- jQuery Mobile pageremove事件中留下的页面的Url/文件名
- JavaScript:我可以得到完整的url,包括域名、文件名和协议吗
- 当使用预先签名的POST url将文件上传到AWS S3时,设置随机文件名
- 从流播放器输出当前剪辑文件名或 URL
- 如何在 url 中传递长文件名并使用 php 函数下载文件
- 节点.js,从 URL 解析文件名
- <输入类型='文件'>提供了URL编码的文件名,导致Android本机浏览器上的FileRea
- PHP/Javascript,重写URL中的真实文件名
- 如何在ajax调用中给出动态json文件名作为url
- 从 Css 属性背景 url 获取文件名
- 从JS中的URL获取文件名
- 如何使用javascript/jquery从URL中删除get变量和文件名
- 使用JavaScript/Jquery从URL中提取特定文件名
- 从url字符串,我怎么能得到没有文件名和参数的文件路径
- url安全的文件名安全的字符串
- 获取URL并将文件夹或文件名传递给超链接
- 正则表达式匹配URL末尾的文件名