>>92
Ruby で作った。
正規表現の否定先読みなどを使えば、もっとスマートに書けるかも

# ? は、直前のパターンの0〜1回の繰り返し。「https?」は、「http|https」と同じ意味
re = %r!(https?://)! #=> https?:\/\/

input_str = %w(https://a/b.html http://c https://x/y).join
#=> "https://a/b.htmlhttp://chttps://x/y";

pos = input_str.size # 文字列の末尾の位置

results = [ ]

# 文字列の末尾から、一致させていく
while pos = input_str.rindex( re, pos )

# 一致した位置から末尾までを削除して、それを配列の先頭に追加していく
results.unshift input_str.slice!( pos..-1 )
end

p results #=> ["https://a/b.html";, "http://c";, "https://x/y";]