javascript - 如何在 Javascript 中使用正则表达式在不指定固定长度的情况下截断部分 url?
问题描述
我正在编写一个程序,使用 Javascript 将我的文件系统中的路径与从 SQL 数据库中提取的 url 匹配。拉取的 URL 结构如下:
http://examplesite.com/wp-content/uploads/YYYY/MM/17818380_1556368674373219_6750790004844265472_n-1.jpg
http://examplesite.com/wp-content/uploads/YYYY/MM/17818380_1556368674373219_6750790004844265472_n.jpg
https://examplesite.com/wp-content/uploads/YYYY/MM/10643960_909727132375975_2074842458_n-44x55.jpg
http://examplesite.com/wp-content/uploads/YYYY/MM/10643960_909727132375975_2078842458_n-320x150.jpg
等等。有些有http,有些有https。
我试图将文件与网址匹配
if(files[i] === urlsfromdb[j].substring(50,urlsfromdb[j].length-4))...
我想在/
之后...MM之后得到所有内容,但上面有时包括前导斜杠,这反过来又破坏了程序。我怎样才能用正则表达式做到这一点?我想得到所有的 jpg,我正在使用 NPM glob 来做到这一点。
此外,对于具有 -WWWxHHH.jpg 的文件,可能是 2 或 3 个 Ws 或 Hs,我也想删除这些文件;来自数据库的 URLS 永远不会真正拥有它们,但文件会。
解决方案
use a regular expression to remove everything up to the last slash.
urlsfromdb[j].replace(/^.*\//, '')
推荐阅读
- angular - 检查 Angular 中 Observable 返回的对象类型?
- c++ - Redis海量插入问题“ERR Protocol error: too big mbulk count string”
- javascript - javascript刽子手,猜词时的问题
- c# - ASP.net Core API 返回 ActionResult
不强制返回类型 - iis - 在 Windows Server 的 ISS 上发布的 Blazor Webassembly 项目中使用 LetsEncrypt 证书
- apache-kafka - 将 Spring Java 配置替换为 Apache Kafka 的 XML
- python - 如何使用 folium 创建地图的静态骨架,其覆盖层(标记)每小时更改一次,使用烧瓶托管在网站上?
- android - CollapsingToolbarLayout 使 RecyclerView 在片段视图重新创建后无法滚动直到底部
- c# - 无法使用 IIS 将我的域与我的网站链接
- c# - 如果属性为空,如何将 Automapper 配置为忽略对象属性但如果不为空则映射