# -*- coding: utf-8 -*- """用 C# 同款拆分规则验证正泰格式的型号规格拆分(拆规格与名称)。""" import re def 拆(原始): # 找最长连续中文段(>=2字) best = None for m in re.finditer(r'[\u4e00-\u9fa5]{2,}', 原始): if best is None or len(m.group()) > len(best.group()): best = m if best: 名称 = best.group() 规格 = (原始[:best.start()] + ' ' + 原始[best.end():]).strip() 规格 = re.sub(r'\s+', ' ', 规格).strip(' -/') return 规格, 名称 return 原始.strip(), '' cases = [ "CA1-100/4300B/40A 断路器", "CH1-63C16/1P", "DJMB2 220/36 0.3kVA", "RT12-63/4P 40A", "CM3-63M/33002/50A 塑壳断路器", "LAM-C40/4P", "CH1L-32C20/1N 剩余电流断路器", ] for c in cases: 规格, 名称 = 拆(c) print(repr(c), '→ 规格:', repr(规格), ' 名称:', repr(名称))