
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
566
|
Chapter 10: Regular Expressions
10.4 Quickly Finding Only the Last Match in a String
Problem
You need to find the last pattern match in a string, but you do not want the over-
head of finding all matches in a string and having to move to the last match in the
collection of matches.
Solution
Using the RegexOptions.RightToLeft option, the match starts at the end of the string
and proceeds toward the beginning. The first found match is the last match in the
string. You supply the
RegexOptions.RightToLeft constant as an argument to the
Match method. The instance Match method can be used as follows:
Regex RE = new Regex(Pattern, RegexOptions.RightToLeft);
Match theMatch = RE.Match(Source);
or use the static Regex.Match method:
Match theMatch = Regex.Match(Source, Pattern, RegexOptions.RightToLeft);
where Pattern is the regular expression pattern and Source is the string against which
to run the pattern.
Discussion
The RegexOptions.RightToLeft regular expression option will force the regular
expression engine to start searching for a pattern starting with the end of the string
and proceeding backward toward the beginning of the string. The first match
encountered will be the match closest to the end of the string—in other words, the
last match in the string.
See Also
See the “.NET Framework Regular ...