Я знаю, что вы не спрашивали о VBA, но, возможно, вы дадите ему шанс.
Если вы открываете проект VBA, вставляете новый модуль, затем выбираете Инструменты -> Ссылки и добавляете ссылку на Регулярные выражения Microsoft VBScript 5.5. Учитывая, что вставьте приведенный ниже код во вновь вставленный модуль.
Function my_regexp(ByRef sIn As String, ByVal mypattern As String) As String
Dim r As New RegExp
Dim colMatches As MatchCollection
With r
.Pattern = mypattern
.IgnoreCase = True
.Global = False
.MultiLine = False
Set colMatches = .Execute(sIn)
End With
If colMatches.Count > 0 Then
my_regexp = colMatches(0).Value
Else
my_regexp = ""
End If
End Function
Теперь вы можете использовать приведенную выше функцию в своих запросах SQL. Итак, ваш вопрос теперь будет решен путем вызова
SELECT my_regexp(some_variable, "^[0]{1}[0-9]{8,9}$") FROM some_table
if вернет пустую строку, если ничего не совпадает.
Надеюсь, вам понравилось.
person
MPękalski
schedule
04.04.2011