我有这样一个字符串“++++001-----zx.......?????????xxxxxxx”我想将多个长度的连续序列提取成一个使用 Ruby 正则表达式的扁平化数组:
["++++",
"00",
"------",
".......",
"?????????",
"xxxxxxx"]
我可以通过嵌套循环来实现这一点:
s="++++001------zx.......?????????xxxxxxx"
t=s.split(//)
i=0
f=[]
while i<=t.length-1 do
j=i
part=""
while t[i]==t[j] do
part=part+t[j]
j=j+1
end
i=j
if part.length>=2 then f.push(part) end
end
但是我找不到合适的正则表达式来输入扫描方法。我试过这个:s.scan(/(.)\1++/x)
但它只捕获重复序列的第一个字符。有可能吗?