re = /(<a?)?:\w+:(\d{18}>)?|(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/
str = '<:custom_emoji:652867697494720533>
<a:animated_custom_emoji:741032442814791702>
:smiley:
😀
Lorem Ipsum dolor sit amet...
123456789'
# 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