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

如何通过正则表达式提取字符串最后一个单词的前3个字符?

正则匹配解决方案

需求背景

给定两个示例字符串:

  1. ABC DEF GHI JKL MNOPQR STUVWX
  2. ABC DEF GHI JKL MNOPQR STU VWX
    要求从第一个字符串提取STU,从第二个字符串提取VWX。

核心匹配逻辑

我们可以基于你已掌握的末尾单词匹配规则,补充长度判断分支实现需求:

  • 若字符串末尾的最后一个单词长度为6,取该单词的前3位
  • 若字符串末尾的最后一个单词长度为3,直接取该单词

可用正则表达式

通用兼容写法(支持所有主流正则引擎)

(?:([A-Za-z]{3})[A-Za-z]{3}$)|(?:^.* ([A-Za-z]{3})$)

规则说明

  • 第一分支(?:([A-Za-z]{3})[A-Za-z]{3}$):匹配末尾为6位字母的场景,捕获前3位对应第一个示例的STU
  • 第二分支(?:^.* ([A-Za-z]{3})$):匹配末尾为独立3位字母单词的场景,直接捕获对应第二个示例的VWX
  • 非捕获组(?:)仅做逻辑匹配,最终唯一的有效捕获结果就是目标内容

精简写法(支持PCRE、Python regex库等支持分支重置的引擎)

(?|([A-Za-z]{3})[A-Za-z]{3}$|.* ([A-Za-z]{3})$)

该写法通过分支重置组统一捕获组序号,调用时直接取第1个捕获组即可得到结果。

测试结果

  1. 测试字符串ABC DEF GHI JKL MNOPQR STUVWX,捕获结果为STU
  2. 测试字符串ABC DEF GHI JKL MNOPQR STU VWX,捕获结果为VWX

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:12:03