Я новичок в Регулярных выражениях, и мне трудно найти шаблоны, которые я нахожу в сети, для работы в VBScript / VBA.Предполагается, что он возвращает дату, найденную в строке, но не может найти никаких дат.Чем отличается VBScript / VBA от других движков RegEx, которые не позволяют вернуть совпадение?
Edit1
Я удалил ^ и $ из своего шаблона.Проблема сохраняется.
Private Sub TestDate()
MsgBox RegExDate("cancel on 12/21/2010 ")
End Sub
Private Function RegExDate(s As String) As String
Dim re, match
Set re = CreateObject("vbscript.regexp")
re.Pattern = "(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))"
re.Global = True
For Each match In re.Execute(s)
MsgBox match.value
RegExDate = match.value
Exit For
Next
Set re = Nothing
End Function