Regex将URL最后一部分与JavaScript匹配

Regex to match the URL last part with JavaScript

本文关键字:JavaScript 匹配 一部分 最后 URL Regex      更新时间:2023-09-26

我有一些url,我喜欢捕捉url的最后部分。

我的URL是的形式

http://www.my-site.dch/wp-content/uploads/2012/02/Tulips.jpg
http://www.my-site.dch/wp-content/uploads/2012/02/Tulips-150x200.jpg
http://www.my-site.dch/wp-content/uploads/2012/02/Tulips-500x350.jpg

我喜欢抓的是郁金香。。。。。。。jpg

我试过了,但没有运气

'/.*(-'d+x'd+)'.(jp(e)?g|png|gif)

有更好的主意吗?

看看lastIndexOf方法:

var index = url.lastIndexOf("/");
var fileName = url.substr(index)

以下正则表达式将起作用:

/[^'/]+$/

使用此Regex:-

^((http[s]?|ftp):'/)?'/?([^:'/'s]+)(('/'w+)*'/)(['w'-'.]+[^#?'s]+)(.*)?(#['w'-]+)?$

使用$6 获取文件名

.*/(.*)使用此模式并获得组1。我想它会起作用的
.*是一个贪婪的正则表达式,因此它将匹配到最后一个斜杠。之后,第1组将是最后一个字符(您需要的)

如果您确定所有图像都是jpg:

/.'/'S+'.jpg/

否则,更通用:

/.'/'S+'.'w{2,3}/

即:

. any char
'/ the slash before the file name
'S+ any non blank char to match the file name (at least one)
'. the file extension separator
jpg or 'w{3,4} the file extension

如果您来这里是为了查找url的最后一部分,即使url以/结尾有一种解决方案比任何正则表达式解决方案都简单。尽管问题是关于regex的,但我会添加它,因为它确实在这里添加了一些值。

如果url是这个http://www.my-site.dch/wp-content/uploads/2012/02/Tulips.jpg

const url = 'http://www.my-site.dch/wp-content/uploads/2012/02/Tulips.jpg'
const lastpart = url.split('/').filter(e => e).pop() 

在这种情况下,即使最后一部分以/结束,它也会返回最后一部分所以,如果你有一个像这样的网址

/services/mosquito-control/

如果你想抓住mosquito-control,你会用这个来做的。