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

求助:正则表达式匹配两类字符串的两组内容问题

解决正则无法同时匹配两类字符串的问题

我来帮你找出问题并修正正则表达式:

原正则的问题分析

你的正则Lyra([A-Za-z]{3,6})+(\d{8}).*有两个关键问题:

  • 字符类[A-Za-z]只包含字母,无法匹配L4C里的数字4,所以这类字符串直接匹配失败;
  • ([A-Za-z]{3,6})+中的+会让这个分组重复捕获(比如CalSWC会被拆成Cal和SWC两次匹配),最终第一组捕获的是最后一次匹配的片段(也就是SWC),而不是你想要的完整CalSWC。

修正后的正则表达式

把字符类扩展为包含字母和数字,同时去掉分组后的+,就能同时匹配两类字符串了:

Lyra([A-Za-z0-9]{3,6})(\d{8}).*

如果想精确匹配.png后缀,可以写成更严谨的版本:

Lyra([A-Za-z0-9]{3,6})(\d{8})\.png

正则各部分解释

  • Lyra:匹配固定前缀;
  • ([A-Za-z0-9]{3,6}):第一捕获组,允许字母和数字,长度3-6,完美覆盖L4C(3位)和CalSWC(6位);
  • (\d{8}):第二捕获组,精确匹配8位数字日期;
  • .*:匹配后续任意内容(如果不需要可以去掉,换成精确的.png更严谨)。

测试效果

  • 对于LyraCalSWC20161203.png,第一组捕获CalSWC,第二组捕获20161203;
  • 对于LyraL4C20180302.png,第一组捕获L4C,第二组捕获20180302。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:10:48