Hallo lithaila,
tja, reguläre Ausdrücke (was fürn blödes Wort) können zwar eine ganze Menge, aber eben nicht alles.
Nun will ich wissen, ob "Oma" und "Motorrad" drin vorkommt, dazwischen aber _nicht_ das Wort "Hühnerstall".
Wenn du auf die Klausel "dazwischen" verzichten könntest, wäre hier folgender Lösungsansatz:
(1) Überprüfe, ob "Oma" und "Motorrad" im zu durchsuchenden String vorkommen.
(2) Überprüfe, ob "Hühnerstall" im zu durchsuchenden String vorkommen.
(3) Verknüpfe beide Ergebnisse, so wie du sie brauchst, zum Beispiel:
(Mein_Ergebnis_ist_wahr) wenn (1) und nicht (2)