1-1 Comparison: MatchIn / MatchFor
Reference Page: Comparison Rules
Automatic Comparison Rules
Relationship: One-to-One / Match In String / Match For String
Definitions
Supported data types: String, Regular Expression
1. Match in String
First argument – base string; second argument – substring / regular expression.
2. Match for String
First argument – substring / regular expression; second argument – base string.
3. Special cases
- Empty string doesn’t match anything but another empty string
- “” != “.*” (empty string is not treated equally as a regex defining any/none character(s))
Implementation
Public Function Regex_Test(ByVal strSrc, ByVal strRegEx) Dim objRegEx Dim boolRC, intRC If strRegEx = "" Then If strSrc = "" Then Regex_Test = True Else Regex_Test = False End If Exit Function End If Set objRegEx = New RegExp objRegEx.Pattern = strRegEx On Error Resume Next boolRC = objRegEx.Test(strSrc) intRC = Err.Number On Error GoTo 0 If intRC <> 0 Then boolRC = False Set objRegEx = Nothing Regex_Test = boolRC End Function
Sample Calls
' Case "MatchIn"
boolRC = Regex_Test(sActualValue, sExpectedValue)
' Case "MatchFor"
boolRC = Regex_Test(sExpectedValue, sActualValue)
Test Code
Log.Message("RegEx routines")
boolRC = Regex_Test("lorem ipsum", "ore")
If Not boolRC Then
Log.Error("Regex_Test failed")
End If
boolRC = Regex_Test("lorem ipsum", " psu")
If boolRC Then
Log.Error("Regex_Test failed")
End If
boolRC = Regex_Test("", "abc")
If boolRC Then
Log.Error("Regex_Test failed")
End If
boolRC = Regex_Test("abc", "")
If boolRC Then
Log.Error("Regex_Test failed")
End If
boolRC = Regex_Test("", "")
If Not boolRC Then
Log.Error("Regex_Test failed")
End If
boolRC = Regex_Test("lorem ipsum dre", ".*re.+")
If Not boolRC Then
Log.Error("Regex_Test failed")
End If

