This step-by-step article describes how to create regular
expressions and how to use regular expressions to determine whether strings
match specific patterns. Regular expressions allow simple parsing and matching
of strings to a specific pattern. If you use the objects that are available in the
Microsoft VBScript Regular Expressions 5.5 library, you can compare a string
against a specific pattern, replace a string pattern with another string, or
retrieve only portions of a formatted string. This article describes how to
construct a pattern to parse a string that contains multiple instances of the
The following list outlines the recommended hardware,
software, network infrastructure, and service packs that you require:
- Microsoft Visual Basic 6.0
This article assumes that you are familiar with the following
- Visual Basic 6.0
- Regular expression syntax
Using Regular Expressions to Match a Pattern
In Visual Basic 6.0, the RegExp
object uses regular expressions to match a pattern. The following
properties are provided by RegExp
. These properties set the pattern to compare the strings that
are passed to the RegExp
- Pattern: A string that defines the regular expression.
- IgnoreCase: A Boolean property that indicates whether you must test the
regular expression against all possible matches in a string.
- Global: Sets a Boolean value or returns a Boolean value that indicates
whether a pattern must match all the occurrences in a whole search string, or
whether a pattern must match just the first occurrence.
provides the following methods to determine whether a string
matches a particular pattern of a regular expression:
- Test: Returns a Boolean value that indicates whether the regular
expression can successfully be matched against the string.
- Execute: Returns a MatchCollection object that contains a Match object for each successful match.
To match a string to a regular expression, follow these
- Set the regular expression by using the
Pattern method of the RegExp
- Obtain the string to examine with the
- Set the IgnoreCase property of the
RegExp object to True.
- Pass the string that you obtained in step 2 as an argument to
the Execute method of the RegExp
- Assign the return value of the Execute
method to the MatchCollection object.
MatchCollection object contains information about the matched
You can also use the Test
method to determine whether the string matches the specific
- Start Microsoft Visual Basic 6.0.
- On the File menu, click
- Click Standard Exe in the New
Project dialog box, and then click OK.
default, Form1 is created.
- On the Project menu, click
- Double-click Microsoft VBScript Regular Expressions
5.5, and then click OK.
- In the toolbox, double-click CommandButton.
By default Command1 is added to the
- Double-click Command1 to open the Code
- Paste the following code in the
Command1_Click event handler:
Note In this example, the is. pattern is checked against the "IS1 is2 IS3 is4" string. You can use the special character period (.) to act as a wildcard character, so that one additional
character is matched and displayed with the search pattern. If you add two
periods to the search pattern, you see two additional characters. If you do not
use any periods, you only see the search pattern.
MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4"))
- Add the following function after the
Command1_click event handler:
Function TestRegExp(myPattern As String, myString As String)
Dim objRegExp As RegExp
Dim objMatch As Match
Dim colMatches As MatchCollection
Dim RetStr As String
' Create a regular expression object.
Set objRegExp = New RegExp
'Set the pattern by using the Pattern property.
objRegExp.Pattern = myPattern
' Set Case Insensitivity.
objRegExp.IgnoreCase = True
'Set global applicability.
objRegExp.Global = True
'Test whether the String can be compared.
If (objRegExp.Test(myString) = True) Then
'Get the matches.
Set colMatches = objRegExp.Execute(myString) ' Execute search.
For Each objMatch In colMatches ' Iterate Matches collection.
RetStr = RetStr & "Match found at position "
RetStr = RetStr & objMatch.FirstIndex & ". Match Value is '"
RetStr = RetStr & objMatch.Value & "'." & vbCrLf
RetStr = "String Matching Failed"
TestRegExp = RetStr
- On the Run menu, click
Start to run the application.
- Click Command1.
A message box is
displayed that returns all the occurrences of is in the IS1 is2 IS3 is4 string.
For more information, visit the following MSDN Web sites:
Article ID: 818802 - Last Review: November 26, 2007 - Revision: 3.1
- Microsoft Visual Basic 6.0 Enterprise Edition
- Microsoft Visual Basic 6.0 Learning Edition
- Microsoft Visual Basic 6.0 Professional Edition
|kbprogramming kbstring kbhowtomaster KB818802|