Как я прокомментировал выше, вам нужно будет проанализировать Ruby, чтобы различить косые черты и разделители регулярных выражений. Но для самого простого, ПРОСТОГО случая, не беспокоясь об этом, как на счет:
regex_match = %r{/(?:[^/\\]|\\.)+/[mgixo]*}
То есть «прямая косая черта, за которой следует одна или несколько вещей, которые не являются ни прямой косой чертой, ни обратной косой чертой, либо обратной косой чертой, за которой следует что-то еще, за которым следует косая черта и, возможно, некоторые флаги регулярных выражений».