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

如何使用正则表达式提取字符串最后一个_与第一个.之间的内容

正则表达式实现需求的方案

方案1:分两步处理(和你现有逻辑衔接)

你已经可以通过正则(.*)\.[^\.]*$捕获去掉后缀的文件名主体,接下来要删除最后一个_之前的所有内容,直接用匹配规则^.*_将匹配到的内容替换为空即可。

  • 匹配逻辑说明:^匹配字符串开头,.*是贪婪匹配,会尽可能多的匹配字符直到遇到最后一个_,替换为空后剩下的就是最后一个_到字符串末尾的内容。
  • 示例:处理第一步得到的example_photo_name1,用^.*_替换为空后直接得到name1。

方案2:一步到位捕获目标内容

也可以直接写正则一次性提取目标内容,不需要分两次替换,正则表达式如下:
^.*_([^.]+)\..*$
你只需要提取第一个捕获组(也就是括号内匹配的内容)即可得到目标结果。

  • 匹配逻辑说明:
    • ^.*_:匹配从字符串开头到最后一个_的所有内容
    • ([^.]+):捕获所有不包含.的连续字符,也就是你需要的name1/name2部分
    • \..*$:匹配从第一个.到字符串末尾的后缀内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:54:06