首页 > 解决方案 > 如何使用正则表达式解析逗号分隔的字符串而不进行拆分

问题描述

主要问题是我没有任何拆分、匹配或其他功能,因为它不是程序,我只有正则表达式支持。字符串是:

145,453,234

我使用它提取了最后一个值([0-9]{3})(?!,),这很完美。

如何处理前两个值(我需要两个正则表达式)?

标签: regexpcre

解决方案


要为每个部分专门设置一个正则表达式,您应该关心边界。如果逗号之间的所有字符都是数字,则使用这些正则表达式分别获取每个部分:

  • 第一部分:^\d+
  • 第二部分:(?<=,)\d+(?=,)
  • 最后部分:\d+$

如果它可能超过使用数字[^,]代替\d.


推荐阅读