Wie Stefan Walter in seiner Antwort bereits erläutert hat, existiert die Regel nicht.
Allerdings stimmt es, dass viele deutsche Flussnamen weiblich sind. Es gibt einige wenige männliche Flussnamen. Sie sind meist vorgermanischen Ursprungs: "der Rhein", "der Main", "der Inn", "der Neckar", "der Eisack", "der Lech", "der Regen". Diese Namen haben ein maskulines Geschlecht, da in vorgermanischer Zeit die Flüsse als verkörperte (männlich) Götter betrachtet wurden.
Der Namensforscher Konrad Kunze, Professor am Deutschen Seminar der Universität Freiburg, schreibt Folgendes zu diesem Thema:
Die Flussnamen in unserem Raum ("Deutschland") waren und sind in der Regel weiblich, wie das alte Wort "die Ach" = 'der Fluss', weswegen Namen mit -ach weiblich sind (die Wutach, die Brigach, die Schwarzach usw.). auch 'der Bach' war früher und ist heute noch in vielen Dialekten weiblich, die Bach, niederdeutsch die Beeke. Daher heißt es in alten Formulierungen noch heute z.B. "die Schlacht an der Katzbach". Auch andere Flussnamen unseres Raumes sind weiblich, vgl. die Fulda, die Elbe, die Weser, die Havel, die Saale usw. usw. Das kann mit dem grammatischen Geschlecht der Wörter zusammenhängen, die in den Flussnamen stecken.
Früher meinte man, es käme davon, dass die Menschen in den Flüssen weibliche Gottheiten gesehen hätten, Nixen usw.- Namen, die sehr alt sind und aus vordeutschen Sprachen stammen, sind oft männlich, und die entsprechenden Gottheiten auch männlich dargestellt: der Vater Nil, der Flussgott Tiber, und so auch der Rhein, aus lateinisch/keltisch Rhenus, der Inn aus lateinisch und älter Aenus, der Main aus lat. und älter Moenus, der Lech aus lat. und älter Licus usw.
Einige von ihnen haben nach dem Vorbild der meisten hier befindlichen Flussnamen später das weibliche Geschlecht angenommen, so ist aus männlichem Saravus heute die weibliche Saar geworden, aus dem männlichen Danubius heute die weibliche Donau (wohl in Angleichung an das Wort die Au(e)), aus dem männlichen Rhodanus heute die weibliche Rhone.Bei anderen sehr alten Namen ist das männliche Geschlecht erhalten geblieben, der Inn, der Lech usw.
Das Geschlecht von Flussnamen wurde vor sehr langer Zeit festgelegt wurde – teilweise in der indoeuropäischen Grundsprache bereits um 1000 v. Chr., also vor der Entwicklung der germanischen Sprache.
Gewässernamen entstanden aus dem ursprünglichen Wortstamm, kombiniert mit einer Endung für das Geschlecht. Die schlichteste Form der Gewässernamen ist die, dass an ein wurzelhaftes Element ein einfaches, den Flexionsnamen abgebendes -a antritt, so dass feminine Gebilde entstehen wie Aisa und Isa, Nida und Neida. (Quelle: (H. Krahe, Unsere ältesten Flußnamen, Wiesbaden 1964))