You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用preg_match提取字符串中连字符后的最后部分?

提取类URL字符串中最后一个-后的内容

需求说明

需要从类URL格式的字符串里,提取出最后一个连字符(-)之后的部分,示例如下:

输入示例:

  • game-when-no-one-at-xhU8c0dL
  • coins-at-the-desk-1xhz83c
  • example-example-1391340

期望输出:

  • xhU8c0dL
  • 1xhz83c
  • 1391340

问题分析

最初使用的正则表达式preg_match('/.{7}(?=($|\r|\n))/')存在局限性——它固定匹配最后7个字符,但目标内容的长度可能是7或8,无法适配所有情况。

解决方案

使用正则表达式preg_match('/[^-]*$/')即可满足需求:

  • [^-]* 表示匹配任意数量(包括0个)非连字符的字符
  • $ 表示匹配字符串的结尾

这样就能精准捕获最后一个-之后的所有内容,不管长度是多少。

内容的提问来源于stack exchange,提问作者Dimitrie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 12:08:08