Find Date in MM/DD/YYYY Pattern in String

[Regex]::Matches($string, '(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))').Value
Details
List any and all valid dates since year 1900. MM and DD can have 1 or 2 digits

Example
PS C:\> $string = 'There have been solar eclipses on 03/07/1970, 2/26/1979, and 8/21/2017 in the United States.'
>> [Regex]::Matches($string, '(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))').Value

03/07/1970
2/26/1979
8/21/2017