Да, как часто применяется регулярное выражение, зависит от используемого метода, а не от флагов регулярного выражения.
scan вернет массив, содержащий (или итеративный) все совпадения регулярного выражения. матч и String#[]
вернет первый матч. =~
вернет индекс первого совпадения. gsub заменит все вхождения регулярного выражения, а sub заменит первое вхождение.