私はそのような文字列 "++++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)
しかし、繰り返しシーケンスの最初の文字のみをキャプチャします。それはまったく可能ですか?