re = /^([ ])?\[(\/?)gaiarch(=[^"]*)?]([ ])?|([ ])?\[(\/?)gaiarch(=[^"]*)?]([ ])?$/i
str = '[gaiarch=slider]
[img url="http://i1251.photobucket.com/albums/hh543/Knight-Yoshi/trade_c.png" text="Trading Image" goto="http://www.gaiaonline.com/gaia/bank.php?mode=trade&uid=15388423"],[img url="http://i1251.photobucket.com/albums/hh543/Knight-Yoshi/friend_c.png" text="Friends Image" goto="http://www.gaiaonline.com/friends/add/15388423"][/gaiarch]
[gaiarch=slider][img url="http://i1251.photobucket.com/albums/hh543/Knight-Yoshi/gaiaonline/thread/post/dark-center_bottom_zps419960f4.gif" text="bottom bar"]
[img url="http://i1251.photobucket.com/albums/hh543/Knight-Yoshi/gaiaonline/thread/post/star-say_right_zpsdc3769f3.png" goto="http://www.gaiaonline.com/"][/gaiarch] '
# 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