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

正则表达式优化:移除账号名前置独立数字,保留含符号数字前缀

修正账户名称清理正则:仅移除独立前置数字,保留含特殊字符的数字前缀

问题分析

原正则 r'^\d{1,4}(?!\w)' 的缺陷在于,(?!\w) 会匹配数字后所有非单词字符(包括 /、- 这类合法名称前缀里的符号),导致像 40/86 Adverts Inc.- Carmel 这样的合法名称被误处理为 /86 Adverts Inc.- Carmel。我们需要的是仅移除作为独立前缀的数字(即数字后紧跟空白字符,属于缺行导致的行号类内容),保留与特殊字符绑定的数字前缀组合。

解决方案

调整正则规则,精准匹配「开头可选前置空格 + 1-4位数字 + 紧跟空白字符」的模式,只移除这类独立数字前缀:

代码实现

import re

def clean_account_name(account):
    # 匹配开头的可选空格、1-4位数字,且数字后紧跟空白,替换为空后去除首尾空格
    cleaned = re.sub(r'^\s*\d{1,4}(?=\s)', '', account)
    return cleaned.strip()

正则说明

  • ^\s*:匹配开头的任意数量空白字符(处理PDF提取时的前置空格)
  • \d{1,4}:匹配1-4位数字(对应原需求的数字范围)
  • (?=\s):正向预查,确保数字后紧跟空白字符(确认这是独立的数字前缀,而非名称的一部分)

测试验证

原始账户名称清理后结果
63 Triont Advisers LLCTriont Advisers LLC
40/86 Adverts Inc.- Carmel40/86 Adverts Inc.- Carmel
1234 Test CompanyTest Company
78-90 Business Group78-90 Business Group
45 Another NameAnother Name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 16:27:45