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

如何编写正则匹配10位长且含空格的字符,排除无空格匹配项

正则匹配调整方案

需求说明

需要匹配总长度为10位、仅包含大写英文字母、数字、空格,且至少包含1个空格的字符串,排除无空格的10位纯字母数字组合。

调整后正则表达式

\s+((?=[A-Z0-9 ]* )[A-Z0-9 ]{10})

语法解释

  • \s+:匹配目标内容前的1个或多个空白字符,和原有逻辑保持一致
  • (?=[A-Z0-9 ]* ):正向肯定预查,仅做校验不占用匹配字符,确认后续10位字符范围内至少存在1个空格
  • [A-Z0-9 ]{10}:匹配正好10位由大写字母、数字、空格组成的字符
  • 外层的括号为捕获组,可直接从分组1中拿到需要的目标结果

匹配效果

针对提供的日志内容,该正则可精准命中以下目标:

  • ABCD 1111
  • JDBS 234
  • JDBS 11
    不会匹配到AABCAKKA01、AABCAKKB02这类无空格的10位纯字母数字组合。

兼容说明

该正则语法兼容绝大多数主流编程语言(Python、Java、JavaScript、Go等)的正则引擎,可直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:54:04