dsam70528 2018-08-21 20:09
浏览 16
已采纳

如果url包含某个目录,则返回url的结尾

I need to search thru a sql file and find the filename (the end of the url) where the url contains /assets/

Example url:

https://www.example.com/assets/screenshots/this-is-an-example/2016-12-20_15-42-29.png

It has /assets/ in it, so I want to get the last part of the url, being:

2016-12-20_15-42-29.png

Another example:

https://www.example.com/images/screenshots/this-is-an-example/2016-12-20_15-42-29.png

Nothing would return because /assets/ was not found.

*The number of directories deep it goes will be different, so it could be /assets/dir1/dir2/filename.jpg, and the next could be /assets/dir1/dir2/dir3/dir4/filename.jpg

Hoping this can be accomplished using regular expression.

  • 写回答

3条回答 默认 最新

  • dongrong9053 2018-08-21 20:44
    关注

    You may use the following regex:

    ^(?=.*\/assets\/).*\/\K.*$
    
    • ^ Assert position beginning of string.
    • (?=.*\/assets\/) Positive lookahead to ensure that /assets/ substring is present in the string.
    • .* Match anything greedily.
    • \/ Match the last /.
    • \K Reset operator, resets match.
    • .*$ Match anything until end of string $.

    You can try it here.


    Php snippet:

    <?php
    
    $url = 'https://w...content-available-to-author-only...e.com/assets/screenshots/this-is-an-example/2016-12-20_15-42-29.png';
    preg_match('/^(?=.*\/assets\/).*\/\K.*$/',$url,$matches);
    
    print_r($matches[0]);
    

    Prints:

    2016-12-20_15-42-29.png
    

    You can try it here.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥15 使用LM2596制作降压电路,一个能运行,一个不能
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错