Hallo Gunnar.
ich misch mich mal ein :D
Er berücksichtigt jedoch nicht mailto:, javascript: und https://
gunnars ansatz war ja nur als beispiel gedacht - zudem geht in deinem beispiel bzw deiner liste nicht hervor ob example.com und example.net unterschiedlich sein sollen oder nicht, irgendwo muss das natürlich definiert werden
mailto: wird wohl ohnehin anders aussehen ;) (mit einem netten brief-symbol vor dem link), eine zeile extra im css
javascript: in einen href-attribut ist bullshit - bitte links mit javascript: im href-attribut höchstes fett schreiben und rot hinterlegen mit einem error-icon und dem hinweis "tausch mich gegen ein onclick aus" davor
und was spricht gegen a[href^=https://] zu den anderen dazu bzw a[href^=https://example.com]? ggf hinterlegt man die dinger noch gelb und packt noch ein nettes icon dazu - https will man gerne separat kennzeichnen
wobei das hardkodieren von urls im CSS dasselbe gleichzeitig unportabel macht. diese speziellen eigenschaften kann man auslagern oder wie gesagt: ein array aus domainnamen der eigenen website und das ganze von einem script machen lassen (klassen schreiben oder ein css-file generieren) - sagte ich doch bereits
Aus diesen Überlegungen heraus halte ich es für geschickter, Klassen zu verwenden.
warum, das rel-attribut ist doch dafür da?