re = /^(?:(\w+) )?order to (\w+) ([\-\d\.]+) (\w+) at ([\-\d\.]+|market) with ExDestination to (\w+) gets( fully| over)? filled(?: again)? (?:for ([\-\d\.]+)(?: contracts | shares )?)?at ([\-\d\.]+|market)/
str = 'order to SELL 5 AAPL at market with ExDestination to ANY gets fully filled at market'
# Print the match result
str.match(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