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

RegEx如何匹配数字后第二次出现的两位连续大写字母

正则实现方案

问题复盘

你需要从固定格式的实验名称字符串中提取指定子串,规则与测试用例如下:

  • 测试样例:SEF001DT45(目标值DT)、BV004MF(目标值MF)
  • 匹配目标:数字值之后第二次出现的两位连续大写字母
  • 原有写法问题:[A-Z]{2}会匹配字符串任意位置的连续两位大写字母,会误匹配前缀字母段的内容,无法精准定位目标。

可用正则表达式

^[A-Z]+\d+([A-Z]{2})

规则说明

  • ^:锚定字符串起始位置,避免从字符串中间开始无效匹配
  • [A-Z]+:匹配字符串开头的所有前缀大写字母,兼容2位、3位及以上长度的前缀
  • \d+:匹配前缀后的连续数字段,自动跳过数字前的所有字母匹配项
  • ([A-Z]{2}):捕获数字段后紧跟的连续两位大写字母,该捕获组的内容就是你需要的目标子串,正好对应全局范围内第二次出现的连续两位大写字母。

使用注意

调用正则匹配方法后,直接取第一个捕获组的返回值即可,不同编程语言的取法略有差异:

  • JavaScript:使用String.prototype.match()匹配后,取返回数组下标为1的元素
  • Python:使用re.search()匹配后,调用match.group(1)获取结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 23:54:21