Using Regular Expressions

Regular Expressions (RegEx) are patterns that describe text. You can use regular expressions to find substrings in text and to make replacements within text.

These are common characters used to create RegEx patterns:

Matching Character

Description

.

wildcard, matches any character except /r and /n

\r

return

\n

newline

\d

Matches a string of digits

\w

Matches a string of word characters

\s

Matches whitespace

Repeat pattern zero or more times

Repeat pattern one or more times

Note

Regular Expressions are not currently supported for Android.

Searching

Your apps can search and replace text using regular expressions (often called RegEx), a pattern describes specific text to find in a string. You use the properties of the RegEx, RegExOptions and RegExMatch classes to define a regular expression and search or replace text using regular expressions. Regular Expressions can be a bit tricky to get the hang of, but they are fast and efficient ways to process text.

This code finds the first word in the text “Software development made easy”, returning “Software”:

Var re As New RegEx
Var match As RegExMatch

re.SearchPattern = "\\w*"
match = re.Search("Software development made easy")
If match <> Nil Then
  MessageBox(match.SubExpressionString(0))
End If

Here are some examples of other search patterns on the same text "Software development made easy":

Pattern

Result

made

made

simple

Text Not Found

^.

S

[wb]are

ware

..sy$

easy

Remember that a RegEx result (RegExMatch) may return more than one match. You should check RegExMatch.SubExpressionCount to see how many matches were returned.

Replacement

Regular Expressions can also be used to replace strings in text. This code replaces “Software development” with “Programming”:

Var re As New RegEx

re.SearchPattern = "Software development"
re.ReplacementPattern = "Programming"
Var result As String
result = re.Replace("Software development made easy")

MessageBox(result)

The result variable now contains “Programming made easy”. This removes HTML tags from source HTML:

Var re As New RegEx
re.SearchPattern = "<[^<>]+>"
re.ReplacementPattern = ""

Var html As String = "<p>Hello,</p><b/><p>There</p>"
Var plain As String = re.Replace(html)

While html.Compare(plain) <> 0
  html = plain
  plain = re.Replace
Wend

MessageBox(plain)

See also

RegEx, RegExOptions, RegExMatch classes