fix: 多语言价格词组补字母后顾断言(防DN800/SDR11规格数字误杀,与英文组L7保护同款)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-29 15:44:56 +08:00
parent 7003d13f7a
commit 170de2fe48
3 changed files with 10 additions and 2 deletions
+4 -1
View File
@@ -46,8 +46,11 @@ PRICE_PATTERNS = [
# "customs paperwork for 20ft" 会被误杀(Task 3 质量审查发现)
# ⚠️ 阿语定冠词 ال 与词连写(السعر): 词首 \b 落在 ل|س 之间(两者皆 \w)
# 不成立,备选须收 (?:ال)? 形态——裸 \bسعر\b 实测漏检 "السعر 500 دولار"
# ⚠️ (?<![a-z]) 字母后顾(与英文组 (?<![a-z]) 同款): 建材规格数字永远
# 跟在拉丁字母后(DN800/SDR11/PN16/SCH40),后顾天然放行——实测
# "El precio del DN800 PE100..." 旧形态误杀,加后顾全放行且 HITS 全保
re.compile(r"\b(?:precio|costo|custo|preço|цена|стоимость|"
r"(?:ال)?سعر|(?:ال)?ثمن)\b[^\d\n]{0,20}\d", re.I),
r"(?:ال)?سعر|(?:ال)?ثمن)\b[^\d\n]{0,20}(?<![a-z])\d", re.I),
# 货币名词后置(数字+货币词): dólares/euros/рублей(西里尔 долларов
# 由上方 стоимость 前置组兜住,不单列)
# ⚠️ euros 排除 pallets 邻接——"50 euro pallets"(欧标托盘)是建材