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

正则表达式多选项字符排除:匹配时排除目标字符串末尾8字符

正则表达式匹配问题解决

我们要匹配字符串 Active Projects>Project Name 2022101,原正则是 ^(?<tloption>.*)>(?<Option>.*)$,现在需要让Option捕获组只拿到>后面部分去掉末尾8个字符的内容。之前试了下面几个正则都不行:

  • ^(?<tloption>.*)>(?<Option>[a-z]*)$
  • ^(?<tloption>.*)(?<Option>.*(?<!\d{8}))$
  • ^(?<tloption>[^\d]*)(?<Option>[^\d]*(?<!\d{8}))$

可用的解决正则

直接用这个正则就能实现需求:

^(?<tloption>.*)>(?<Option>.*).{8}$

要是担心>后面内容不够8个字符时误匹配,可以用正向预查来限制:

^(?<tloption>.*)>(?<Option>.*)(?=.{8}$)

简单解释

  • ^(?<tloption>.*)>:把从开头到>的内容抓到tloption组里
  • (?<Option>.*):抓>后面直到倒数第8个字符的内容,存到Option组
  • .{8}$:匹配最后8个任意字符,确保Option不包含这部分;用(?=.{8}$)的话只是检查位置,不消耗字符

如果你的场景里末尾8个字符固定是数字(比如示例里的日期串),可以把.{8}换成\d{8},正则改成:

^(?<tloption>.*)>(?<Option>.*)\d{8}$

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:01:11