Регулярные выражения в MS Access VBA? - PullRequest
13 голосов
/ 22 сентября 2010

Мне определенно нравится MS Access в качестве RAD-инструмента для небольших приложений, управляемых данными.Но одна вещь, которую я действительно скучаю как .Net-Developer, это регулярные выражения.Они действительно пригодятся при проверке пользовательского ввода.Я действительно не знаю, почему Microsoft не поместила их в стандартную VBA-библиотеку.

Есть ли способ использовать регулярные выражения в MS Access VBA?

Ответы [ 2 ]

23 голосов
/ 22 сентября 2010

Вы можете использовать Объект регулярного выражения VBScript , добавив ссылку на библиотеку регулярных выражений Microsoft VBScript.

Пример использования:

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  

Источник: http://mark.biek.org/blog/2009/01/regular-expressions-in-vba/

3 голосов
/ 22 сентября 2010

Вы можете использовать CreateObject("vbscript.regexp") или просто обратиться к библиотеке сценариев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...