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

正则表达式如何提取最后两个“-”间的字符串,避免T-shirt等含“-”词汇干扰?

可用正则表达式

你可以直接使用这个正则实现需求:

[^-]+(?=-[^-]*$)

匹配逻辑说明

核心思路是从字符串尾部倒推匹配规则,完全不需要关心前面有多少个带-的词汇(比如T-shirt),从根源避免前面的-干扰结果,各部分含义:

  • [^-]+:匹配一段不包含-的连续字符
  • (?=-[^-]*$):正向预查,要求上面匹配到的字符后面必须跟着1个-,且这个-之后到字符串结尾的所有内容都不能再包含-

测试效果

  1. 测试字符串 T-shirt Layla gaga-papa-lk:匹配结果为 papa,符合预期
  2. 测试字符串 Gh world papa -mama-p:匹配结果为 mama,兼容你之前的正常场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:39:04