我需要一个纯正则表达式(没有语言)来分隔这个输入数组的数字:
L1,3,5,0,5,80,40,31,0,0,0,0,512,412,213,900
的问题:
L1
)已修复。该数组始终以L1
开头。我尝试了这个正则表达式[^;,]*
,但它无法单独获取每个数据。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:3)
使用'纯正则表达式'来获取每个字段,您必须使用单独的捕获组:
^L(\d),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)$
(注意:在Python,Perl,Ruby,Java等中,您可以像/(\d+)/g
一样进行全局查找和捕获,但这是将匹配收集到列表中的语言...)
如果您只想要一个特定字段,则可以使用编号重复。
^L(\d)(,(\d+)){N}
捕获组3始终为字段N-1
,因此要捕获213,第15个字段,在您的示例中:
^L(\d)(,(\d+)){14}
答案 1 :(得分:0)