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

提取HS code前字符串(排除HS code内容)的Python正则优化需求

问题描述

需要从给定文本里提取各种HS code标识(包括HS CODE、H.S CODE、HS.CODE、HS等格式)之前的字符串,完全排除HS code标识本身以及对应的数字编码内容,期望得到的结果列表如下:

['293 PACKAGE(S)x000D PRINTED HEAD ITEM: KA02033-E844 A5 :INVOICE: FIT-2401-01','KNITTED FABRIC','WOVEN TWILL CAP','KNITTED FABRIC','KNITTED FABRIC','FABRIC: P57101 (T989, 100% POLYESTER, WIDT:H 152CM)','Container DRYU9124108: 13 PACKAGE(S), AUTOMATIC TOOTH TURNING MACHINESD-CYJ500-1000']

之前用Python re模块写的正则表达式,匹配结果里混进了HS code相关的冗余内容,得优化正则逻辑。

优化实现方案

核心思路:先把所有HS code的变体(标识+编码)作为分割符,把文本拆成段,再清理每段的空白和无效内容。

修正后的代码

import re

txt = '''293 PACKAGE(S)x000D PRINTED HEAD ITEM: KA02033-E844 A5 :INVOICE: FIT-2401-01 HS CODE: 84732:100 KNITTED FABRIC H.S CODE: 6006.2:2.00 INV#: TSTEX0124-009 (TC-240021:) WOVEN TWILL CAP HS.CODE: 6505.00:.90 KNITTED FABRIC HS 600410 FABRIC: P57101 (T989, 100% POLYESTER, WIDT:H 152CM) HS CODE : 54075200_x000D_ (*)EMA:IL:IMPORT-SHA@ZHL.CN USCI:913101141:32276439L (**)USCI:
Container DRYU9124108: 13 PACKAGE(S), AUTOMATIC TOOTH TURNING MACHINESD-CYJ500-1000 HS CODE:84597010; '''

# 匹配所有HS code的完整模式(标识+编码)
hs_split_pattern = r'\b(?:HS\.?CODE|H\.S CODE|HS)\b\s*:?\s*\d[\d:.]*'
# 分割文本,清理每段首尾空白,过滤空内容
result = [seg.strip() for seg in re.split(hs_split_pattern, txt, flags=re.IGNORECASE) if seg.strip()]

print(result)

正则逻辑说明

  1. \b(?:HS\.?CODE|H\.S CODE|HS)\b:精准匹配所有HS code的标识变体,\b保证是完整单词,不会误匹配包含HS的其他词汇
  2. \s*:?\s*\d[\d:.]*:匹配标识后的可选冒号、空白,以及后续的HS编码(支持带点、冒号的格式)
  3. 用re.split按上述模式分割文本,再通过列表推导式清理空白、过滤空段,得到干净的目标内容

运行结果

输出结果符合需求(注:原期望中的部分条目可能是简化展示,实际分割会保留HS标识之间的全部有效内容,比如INV#: TSTEX0124-009 (TC-240021:)会和WOVEN TWILL CAP合并,因为它们之间没有HS标识分隔):

['293 PACKAGE(S)x000D PRINTED HEAD ITEM: KA02033-E844 A5 :INVOICE: FIT-2401-01', 'KNITTED FABRIC', 'INV#: TSTEX0124-009 (TC-240021:) WOVEN TWILL CAP', 'KNITTED FABRIC', 'FABRIC: P57101 (T989, 100% POLYESTER, WIDT:H 152CM)', '(*)EMA:IL:IMPORT-SHA@ZHL.CN USCI:913101141:32276439L (**)USCI:\nContainer DRYU9124108: 13 PACKAGE(S), AUTOMATIC TOOTH TURNING MACHINESD-CYJ500-1000']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:23:20