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

如何编写正则表达式匹配两个数字串之间的纯字母字符组?

原有正则问题

你当前使用的[0-9]{4}\s*\S+\s+(\S+)中,分组内的\S+会匹配所有非空白字符(包含数字),因此会把FPS后的数字也一并捕获,导致结果不符合预期。

调整方案

你可以将分组内的匹配规则改为仅匹配字母,即可拿到预期结果,调整后的正则如下:

[0-9]{4}\s*\S+\s+([A-Za-z]+)

规则说明

  • 将原分组中的\S+替换为[A-Za-z]+,该规则只会匹配连续的大小写字母,遇到数字就会自动终止匹配,刚好捕获到FPS
  • 如果仅需要匹配大写字母,可以把规则简化为[A-Z]+

如果你的场景是固定从字符串末尾的混合段提取开头纯字母,也可以用更精简的正则:

\s([A-Za-z]+)\d*$

该规则直接定位到字符串结尾前的空白字符,捕获空白后连续的字母段,忽略后续的数字。

以上两种正则在你给出的示例字符串上测试,分组1的捕获结果均为FPS,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:57:03