我正在尝试拆分这个字符串:
values = "43/320x240/99/0/0,34/320x240/9/0/115,18/320x240/9/0/115,5/320x240/7/0/0"
Run Code Online (Sandbox Code Playgroud)
并且只获得每个"组"的第一个数字.而不是分裂,和/我试图只用一个正则表达式.但是,当我尝试这个:
values.split(/\/(\d|x|\/)+,?/g)
Run Code Online (Sandbox Code Playgroud)
我明白了:
["43", "0", "34", "5", "18", "5", "5", "0"]
Run Code Online (Sandbox Code Playgroud)
代替:
["43", "34", "18", "5"]
Run Code Online (Sandbox Code Playgroud)
为什么我想要的每个号码之间的号码无效?似乎Rails在逗号之前和之后得到所有数字.我尝试了这个其他的RegExp:(/ [\ d | x] +){4},?得到了类似的结果.
有什么不对,我看不到吗?你知道更好的解决方案吗?
我相信split也会返回捕获组.尝试使用非捕获括号,或者更好的是,使用字符类:
values.split(/\/[\dx\/]+,?/g)
Run Code Online (Sandbox Code Playgroud)