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

如何用正则表达式提取字符串最后斜杠后前两个连字符分隔词

解决方案

方法一:正则表达式精准提取

你可以用更针对性的正则表达式,直接锁定最后一个/之后的前两个以-分隔的片段:

import re

s = "p/daphne-logo-espadrille/2208098001-BLACK-38-se.html"
pattern = r".*/([^-]+-[^-]+)"
match = re.search(pattern, s)
if match:
    print(match.group(1))  # 输出: 2208098001-BLACK

正则逻辑说明:

  • .*\/:通过贪婪匹配定位到字符串中最后一个/,并匹配其之前的所有内容
  • ([^-]+-[^-]+):捕获由-连接的两段内容,[^-]+表示匹配任意非-的字符序列,刚好对应你需要的前两个词。

如果需要更严谨的匹配(确保两段都是字母数字),可以调整正则为:

pattern = r".*/(\w+)-(\w+)"
match = re.search(pattern, s)
if match:
    print(f"{match.group(1)}-{match.group(2)}")  # 输出同样结果

方法二:字符串分割(直观易维护)

如果不想依赖正则,Python原生的字符串操作也能轻松实现需求:

s = "p/daphne-logo-espadrille/2208098001-BLACK-38-se.html"
# 步骤:按/分割取最后一段 → 按-分割取前两个元素 → 用-重新连接
result = "-".join(s.split("/")[-1].split("-")[:2])
print(result)  # 输出: 2208098001-BLACK

这种方法逻辑清晰,无需理解正则语法,适合简单场景下的快速实现。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:46:01