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

如何使用正则表达式提取文本中的工单编号?

解决正则提取工单编号的问题

问题分析

你的正则表达式存在几个语法错误,导致报错:

  • 匹配数字的d需要转义成\d,否则会匹配字母d
  • 正则末尾多了一个多余的右括号
  • 没有匹配文本中的#符号
  • {7}后不需要加+,{7}已经指定了匹配7次数字
  • 字符串引号使用了HTML实体",在Python代码里应该用普通的单引号或双引号

修正后的正则表达式

针对目标文本TICKET #IM40135514 OPENED,正确的正则写法可以是:

import re

filetext = "TICKET #IM40135514 OPENED"
number = re.findall(r"TICKET #(\w{2}\d{7})", filetext)
print(number)  # 输出: ['IM40135514']

正则说明

  • r"...":使用原始字符串避免转义字符冲突
  • TICKET #:精准匹配文本中的固定前缀
  • (\w{2}\d{7}):捕获组,提取2个字母+7个数字的工单编号
    • \w{2}:匹配2个字母、数字或下划线(这里对应工单的前缀IM)
    • \d{7}:匹配7位数字

额外说明

你给出的预期结果是IM40133514,但原文本中的工单编号是IM40135514,如果是笔误可以忽略;如果确实需要提取IM40133514,需要确认文本内容是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 06:47:30