Regular Expressions in MS Access VBA?
I definitely like MS Access as an RAD-Tool for small-scope data-driven applications. But one thing I really miss as a .Net-Developer is Regular Expressions. They really come in handy when validating user input. I really do not know why Microsoft did not put these in the s开发者_Go百科tandard VBA-Library.
Is there a way to use Regular Expressions in MS Access VBA?
You can use the VBScript Regex Object by adding a reference to the Microsoft VBScript Regular Expressions library.
Example usage:
Dim szLine As String
Dim regex As New RegExp
Dim colregmatch As MatchCollection
With regex
.MultiLine = False
.Global = True
.IgnoreCase = False
End With
szLine = "Analyzed range (from-to) 10 100"
regex.Pattern = "^Analyzed range"
If regex.Test(szLine) Then
regex.Pattern = ".*?([0-9]+).*?([0-9]+)"
Set colregmatch = regex.Execute(szLine)
'From
Debug.Print colregmatch.Item(0).submatches.Item(0)
'To
Debug.Print colregmatch.Item(0).submatches.Item(1)
End If
Source: http://mark.biek.org/blog/2009/01/regular-expressions-in-vba/
You can use CreateObject("vbscript.regexp")
or just reference the scripting library.
精彩评论