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

含逗号产品名的数据库导出产品数据正则分割技术问询

解决方案

方法1:替换分隔符(推荐)

你需要定位那些真正作为产品分隔符的逗号——也就是后面紧跟[5-9位数字]:的逗号。用以下正则表达式匹配这些逗号,然后替换为换行符即可:

,(?=[0-9]{5,9}:)
  • 解释:
    • ,:匹配目标逗号
    • (?=[0-9]{5,9}:):正向预查,确保逗号后面是你的产品编号(5-9位数字)加冒号,也就是下一个产品的开头

把这个正则代入替换工具(比如VS Code查找替换、Notepad++,或代码中的replace方法),替换为换行符(\n或\r\n,根据系统选择),就能得到目标格式。

方法2:直接提取所有产品条目

如果你想直接匹配出每个完整的产品内容,可使用非贪婪模式的正则:

[0-9]{5,9}:.*?(?=,[0-9]{5,9}:|$)
  • 解释:
    • [0-9]{5,9}::匹配产品编号开头
    • .*?:非贪婪匹配任意内容(包括产品名称里的逗号)
    • (?=,[0-9]{5,9}:|$):正向预查,直到遇到下一个产品的分隔逗号+编号,或者字符串结尾

用这个正则可以一次性提取所有产品条目,再逐个输出即可。

测试验证

以你的混乱数据为例:
输入:

13371337:Bat,TH,Li-Met,Blub,9.5V,370mAHr,1/2_AA-Cell,50pcs,13351234:Radio - Antenna 2.4 GHz AB/C midi (10p),15642345:Board SMB - Some Magic Board,95653345:Board SMK 6 - Some Magic Knobs - Mod6,56735632:Control Unit Z65 - Mod9

用方法1替换后,输出结果完全符合你的要求:

13371337:Bat,TH,Li-Met,Blub,9.5V,370mAHr,1/2_AA-Cell,50pcs
13351234:Radio - Antenna 2.4 GHz AB/C midi (10p)
15642345:Board SMB - Some Magic Board
95653345:Board SMK 6 - Some Magic Knobs - Mod6
56735632:Control Unit Z65 - Mod9

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 16:12:37