Microsoft office Access `LIKE` VS `RegEx`

前端 未结 2 1168
情书的邮戳
情书的邮戳 2020-11-30 10:20

I have been having trouble with the Access key term LIKE and it\'s use. I want to use the following RegEx (Regular Expression) in query form as a sort of \"verf

2条回答
  •  猫巷女王i
    2020-11-30 10:59

    I know you were not asking about the VBA, but it maybe you will give it a chance

    If you open a VBA project, insert new module, then pick Tools -> References and add a reference to Microsoft VBScript Regular Expressions 5.5. Given that pate the code below to the newly inserted module.

    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
    

    Now you may use the function above in your SQL queries. So your question would be now solved by invoking

    SELECT my_regexp(some_variable, "^[0]{1}[0-9]{8,9}$") FROM some_table
    

    if will return empty string if nothing is matched.

    Hope you liked it.

提交回复
热议问题