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

正则匹配:字符串中左右不全为数字的有效逗号计数

匹配特定逗号的正则表达式方案

给定字符串:abc,400,00,foo,bar,34,000,,hello,bye,需要匹配满足以下条件的逗号:

  • 左右均为非逗号字符
  • 左右字符不全为数字

示例中括号标注的即为目标逗号:abc(,)400,00(,)foo(,)bar(,)34,000,,hello(,)bye

正则表达式

(?<![,\d]),(?![,\d])|(?<=\D),(?=\d)|(?<=\d),(?=\D)

规则解释

这个正则通过三个分支覆盖所有符合条件的场景:

  • (?<![,\d]),(?![,\d]):匹配左右既不是逗号也不是数字的逗号(比如abc,400、foo,bar里的逗号)
  • (?<=\D),(?=\d):匹配左非数字、右数字的逗号(比如bar,34里的逗号)
  • (?<=\d),(?=\D):匹配左数字、右非数字的逗号(比如00,foo、hello,bye里的逗号)

同时,正则自动排除了两种不符合要求的逗号:

  1. 连续逗号(比如000,,hello里的逗号)
  2. 左右全为数字的逗号(比如400,00、34,000里的逗号)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:35:25