我想使用正則表達式在Excel中使用VBA從字符串中提取日期。使用正則表達式查找字符串中的日期
的字符串是:
Previous Month: 9/1/2015 - 9/30/2015
或者可以這樣:
Custom: 9/1/2015 - 9/30/2015
你有什麼想法,我怎麼能做到這一點?我以前從未使用正則表達式。
我想使用正則表達式在Excel中使用VBA從字符串中提取日期。使用正則表達式查找字符串中的日期
的字符串是:
Previous Month: 9/1/2015 - 9/30/2015
或者可以這樣:
Custom: 9/1/2015 - 9/30/2015
你有什麼想法,我怎麼能做到這一點?我以前從未使用正則表達式。
試試這個:
([1-9]|1[012])[/]([1-9]|[1-2][0-9]|3[01])[/](19|20)[0-9]{2}
這exption似乎我正在使用它 –
正則表達式是日期的好選擇。你可以尋找:
並檢查剩餘的符號:
Sub Foo()
Dim result() As Variant
result = GetDates("Previous Month: 9/1/2015 - 9/30/2015")
If UBound(result) Then
Debug.Print result(0)
Debug.Print result(1)
End If
End Sub
Function GetDates(str As String) As Variant()
Dim tokens() As String
tokens = Split(Mid$(str, InStr(str & ": ", ":")), " ")
If (UBound(tokens) = 3) Then
If IsDate(tokens(1)) And IsDate(tokens(3)) Then
GetDates = Array(CDate(tokens(1)), CDate(tokens(3)))
Exit Function
End If
End If
ReDim GetDates(0)
End Function
試試這個正則表達式:):[** Regex101例**](https://regex101.com/r/oI1oO6/1) – benjamin