【发布时间】:2015-12-09 08:18:15
【问题描述】:
我需要一个纯正则表达式(无语言)来分隔这个输入数组的数字:
L1,3,5,0,5,80,40,31,0,0,0,0,512,412,213,900
问题:
- 第一个字段 (
L1) 是固定的。该数组将始终以L1开头。 - 其他字段将始终为 0 或正数。
- 但是我需要分别获取每个数据,所以应该是:
第二个数据的正则表达式(示例中的数字 3)
第三个数据的正则表达式(示例中的数字 5)
....
第十六个数据的正则表达式(示例中的数字 900)
我尝试了这个正则表达式[^;,]*,但它无法分别获取每个数据。
谁能帮我解决这个问题?
【问题讨论】:
-
你能帮助我们理解为什么这需要是纯正则表达式吗?这不是最好的工具。
-
要获取每个字段,需要一个单独的捕获组
-
L?(\d+)不够,您可能会根据您使用的语言获得一系列匹配项 -
我和 dawg 有同样的想法,可惜这个表达式假设不超过 16 个值。这个数字是固定的还是有限的?
-
@mvw 这是一个固定的表达方式
标签: regex numbers comma delimited