Home
VB.NET
Regex.Matches: For Each Match, Capture
Updated Jan 14, 2024
Dot Net Perls
Regex.Matches. This function uses a pattern argument. It searches the source String to find all matches to that pattern. It returns Match objects as part of a MatchCollection.
Function uses. Regex.Matches is useful for complex text processing. It can be used instead of Match() when more than one match is expected.
Regex.Match
This program imports the System.Text.RegularExpressions namespace. In Main, we use the Regex.Matches method on a String literal containing several words starting with "s".
Imports
And The pattern in the Regex specifies that a match must start with s, have one or more non-whitespace characters, and end in d.
Info The Regex.Matches function returns a MatchCollection. We use the For-Each looping construct on it (matches).
For
Then In a nested loop, we enumerate all the Capture instances. We access the Index and Value from each Capture.
Note Each capture has an Index (the character position of the capture in the source string) and a Value (the matching substring itself).
Imports System.Text.RegularExpressions Module Module1 Sub Main() ' Input string. Dim value As String = "said shed see spear spread super" ' Call Regex.Matches method. Dim matches As MatchCollection = Regex.Matches(value, "s\w+d") ' Loop over matches. For Each m As Match In matches ' Loop over captures. For Each c As Capture In m.Captures ' Display. Console.WriteLine("Index={0}, Value={1}", c.Index, c.Value) Next Next End Sub End Module
Index=0, Value=said Index=5, Value=shed Index=20, Value=spread
Regex.Match. The Regex.Matches function is basically the same as the Regex.Match function except that it returns all matches rather than just the first one.
So If you need to find more than just one match, Regex.Matches is the best function to choose.
A summary. With Regex.Matches, you can find all the matching parts in a source string with a regular expression pattern. You need to then loop over all the individual matches.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Jan 14, 2024 (edit link).
Home
Changes
© 2007-2025 Sam Allen