re = /^(?:[A-Za-z0-9+]{4})*(?:[A-Za-z0-9+]{2}==|[A-Za-z0-9+]{3}=|[A-Za-z0-9+]{4})$/m
str = 'TGUgTG9yZW0gSXBzdW0gZXN0IHNpbXBsZW1lbnQgZHUgZmF1eCB0ZXh0ZSBlbXBsb3nDqSBkYW5zIGxhIGNvbXBvc2l0aW9uIGV0IGxhIG1pc2UgZW4gcGFnZSBhdmFudCBpbXByZXNzaW9uLiBMZSBMb3JlbSBJcHN1bSBlc3QgbGUgZmF1eCB0ZXh0ZSBzdGFuZGFyZCBkZSBsJ2ltcHJpbWVyaWUgZGVwdWlzIGxlcyBhbm7DqWVzIDE1MDAsIHF1YW5kIHVuIHBlaW50cmUgYW5vbnltZSBhc3NlbWJsYSBlbnNlbWJsZSBkZXMgbW9yY2VhdXggZGUgdGV4dGUgcG91ciByw6lhbGlzZXIgdW4gbGl2cmUgc3DDqWNpbWVuIGRlIHBvbGljZXMgZGUgdGV4dGUuIElsIG4nYSBwYXMgZmFpdCBxdWUgc3Vydml2cmUgY2lucSBzacOoY2xlcywgbWFpcyBzJ2VzdCBhdXNzaSBhZGFwdMOpIMOgIGxhIGJ1cmVhdXRpcXVlIGluZm9ybWF0aXF1ZSwgc2FucyBxdWUgc29uIGNvbnRlbnUgbidlbiBzb2l0IG1vZGlmacOpLiBJbCBhIMOpdMOpIHBvcHVsYXJpc8OpIGRhbnMgbGVzIGFubsOpZXMgMTk2MCBncsOiY2Ugw6AgbGEgdmVudGUgZGUgZmV1aWxsZXMgTGV0cmFzZXQgY29udGVuYW50IGRlcyBwYXNzYWdlcyBkdSBMb3JlbSBJcHN1bSwgZXQsIHBsdXMgcsOpY2VtbWVudCwgcGFyIHNvbiBpbmNsdXNpb24gZGFucyBkZXMgYXBwbGljYXRpb25zIGRlIG1pc2UgZW4gcGFnZSBkZSB0ZXh0ZSwgY29tbWUgQWxkdXMgUGFnZU1ha2VyLg==
Test string '
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html