Dim part As String = "((?<!\d)((\d{2,4}(\.|年|\/|\-))((((0?[13578]|1[02])(\.|月|\/|\-))((3[01])|([12][0-9])|(0?[1-9])))|(0?2(\.|月|\/|\-)((2[0-8])|(1[0-9])|(0?[1-9])))|(((0?[469]|11)(\.|月|\/|\-))((30)|([12][0-9])|(0?[1-9]))))|((([0-9]{2})((0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))(\.|年|\/|\-))0?2(\.|月|\/|\-)29))日?(?!\d))"
Dim str As String = "sdfd dsfdsf ds 2024年12月15日 sdf24-12-31sdf sdf"
Output.Show( System.Text.RegularExpressions.Regex.Ismatch(str, part ) )
Dim rgx = new System.Text.RegularExpressions.Regex(part , System.Text.RegularExpressions.RegexOptions.IgnoreCase)
For Each match As System.Text.RegularExpressions.Match In rgx.Matches(str)
Output.Show(match.Value )
Next