What is ‘?-mix’ in a Ruby Regular Expression

mix is not the English word mix, it’s options of Regexp.

See Regexp#to_s:

Returns a string containing the regular expression and its options (using the (?opts:source) notation.

In your example, m is for multiline mode, i is for case insensitive, and x is for extended mode. Options before the dash are on, those after are off (default). The question’s example, ?-mix, has all options off.

You can turn them on like:

puts /^a$/mix
# =>(?mix:^a$)

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)