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

如何编写正则匹配指定模式前的内容,且模式不存在时也能正常匹配

正则修改方案

适配两种场景的正则写法如下:
\d+A(?=(?(?=.* X ).* X |.*$))

逻辑说明

  • 基础匹配规则为\d+A,即匹配后缀为A的数字序列
  • 后置正向预查做分支判断:
    • 先判断完整字符串中是否存在X模式
    • 若存在X:仅匹配后方包含X的\d+A,即所有在第一个X之前的符合规则的内容
    • 若不存在X:无额外限制,匹配所有符合\d+A规则的内容

适配场景验证

  • 字符串包含X:输入"50A ABC DE 51A FG X 52A HI 53A",匹配结果为50A、51A
  • 字符串不包含X:输入"50A ABC DE 51A FG 52A HI 53A",匹配结果为50A、51A、52A、53A

兼容写法(不支持条件正则的引擎可用)

\d+A(?=.*?(?: X |$))(?<! X [\s\S]*)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:45:00