Bestimmte Daten aus String erkennen?

Guten Morgen zusammen,

ich habe eine Spalte meiner MySQL-DB wie folgt gefüllt (bspw.)

Der Hund wurde am 01.01.2016 geboren (AB)

Am 05.06.2014 wurde ein anderer Hund geboren (XY)

01.01.2016 ist der Tag der Tage, es war Neujahr (SI)

Jetzt möchte ich aus dem letzten zwischen den
stehenden Satz,
das Datum und den Inhalt in den Klammern erhalten. Ist sowas
möglich? Wie kann ich sowas realisieren?

Bspw: ‚01.01.2016‘ und ‚SI‘

VG, David

Programmiersprachen folgen Regelmässigkeiten, es ist also notwendig zu wissen, worin in deiner Suche die Regelmässigkeit besteht.

z.B.
Ist deine Suche immer in Zeile 3, ist es immer ein Datum im Format TT.MM.JJJ, steht dein (SI) immer zwischen Klammern.
Aus solchen, klaren Angaben kann man eine Sucher generieren, Ja.

Aus deinen Anhaben kann man keine Regel machen, woher soll Programmcode WISSEN, was du suchst und an welcher Stelle?

Danke für deine schnelle Antwort.

Wenn ich es so realisieren wollen würde, dass im gesamten String
nur der Wert aus den Klammern und das Datum (nur einmal
vorhanden) raus geschnitten wird - wäre das möglich?

Das Datum befindet sich an irgendeiner Stelle im String,
getrennt von einem Leerzeichen (davor, danach) und
grundsätzlich im Format Tag.Monat.Jahr!

Da das ziemlich unsauber scheint, habe ich keine Lust mich da länger damit zu beschäftigen.
Mit „Regular Expressions“ sollte sich das lösen lassen:
https://regex101.com/r/uB8qN5/1
https://regex101.com/r/vU0oL0/1

Ja, sowas habe ich gesucht, vielen Dank!

Ich weiß, dass dieses Beispiel was unsauber war.
Musste aber ein wenig tricksen, bei meinem Problem.

Wenn ich das allerdings jetzt alles so umsetze,
erhalte ich dennoch eine Ausgabe, die ich nicht erwartet habe.

[PHP]
$str = „16.09.2016 Bisschen Test (SI)“;

                    $re_1 = "/(\\d{2}.\\d{2}.\\d{4})/";
                    preg_match_all($re_1, $str, $matches_1);
                    // ERG:: $matches_1[1];

                    $re_2 = "/\\(([^\\)]+)\\)/";
                    preg_match_all($re_2, $str, $matches_2);
                    // ERG:: $matches_2[1];   

                    echo $matches_1[0] . " " . $matches_2[0];

[/PHP]

Erwartete Ausgabe: 16.09.2016 SI

Erhaltene Ausgabe: Array Array

Was stimmt da nicht?

Du liest nicht die Doku!

http://php.net/manual/de/function.preg-match-all.php