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

Python正则匹配:查找_BI与_之间任意长度的数字

匹配_BI与_之间任意长度数字的Python正则方案

没问题!这事儿很好解决——你只需要调整正则表达式,把针对固定长度数字的匹配逻辑改成匹配一个或多个连续数字即可。

直接可用的代码示例

import re

# 定义匹配模式
pattern = r'_BI(\d+)_'
# 测试文本,包含不同长度的数字
test_text = "这里有_BI12554_,还有6位数字的_BI987654_,甚至短到3位的_BI123_"

# 提取所有符合条件的数字
matched_numbers = re.findall(pattern, test_text)
print(matched_numbers)  # 输出结果:['12554', '987654', '123']

模式细节解释

  • _BI:精准匹配你指定的前缀字符串,确保我们只找_BI开头的目标片段
  • (\d+):核心部分——\d代表单个数字字符,+表示匹配至少一个、最多任意多个连续的数字;括号的作用是把我们需要的数字内容单独捕获出来,方便后续使用
  • _:精准匹配结尾的下划线,确保我们只提取_BI和下一个_之间的内容

额外提示

如果你的场景里需要避免误匹配(比如遇到_BIXYZ_这种非数字的情况),这个模式已经能完美过滤,因为\d+只会匹配数字序列。要是你还需要更严格的边界限制(比如确保_BI是独立的片段),可以加上单词边界\b,改成r'\b_BI(\d+)_\b',不过根据你的描述,基础版本已经完全够用了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:49:29