RegexOptions Enumeration
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Provides enumerated values to use to set regular expression options.
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Namespace: System.Text.RegularExpressionsAssembly: System (in System.dll)
| Member name | Description | |
|---|---|---|
| Compiled | Specifies that the regular expression is compiled to an assembly. This yields faster execution but increases startup time. Present only in Windows Phone, but not supported. | |
| CultureInvariant | Specifies that cultural differences in language are ignored. Ordinarily, the regular expression engine performs string comparisons based on the conventions of the current culture. If the CultureInvariant option is specified, it uses the conventions of the invariant culture. | |
| ECMAScript | Enables ECMAScript-compliant behavior for the expression. This value can be used only in conjunction with the IgnoreCase and Multiline values. The use of this value with any other values results in an exception. | |
| ExplicitCapture | Specifies that the only valid captures are explicitly named or numbered groups of the form (?<name>…). This allows unnamed parentheses to act as noncapturing groups without the syntactic clumsiness of the expression (?:…). | |
| IgnoreCase | Specifies case-insensitive matching. | |
| IgnorePatternWhitespace | Eliminates unescaped white space from the pattern and enables comments marked with #. However, the RegexOptions::IgnorePatternWhitespace value does not affect or eliminate white space in character classes | |
| Multiline | Multiline mode. Changes the meaning of ^ and $ so they match at the beginning and end, respectively, of any line, and not just the beginning and end of the entire string. | |
| None | Specifies that no options are set. | |
| RightToLeft | Specifies that the search will be from right to left instead of from left to right. | |
| Singleline | Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n). |
A RegexOptions value can be provided as a parameter to the following members of the Regex class:
The Regex::Regex(String, RegexOptions) class constructor.
The Regex::Split(String, String, RegexOptions) method.
The Regex::IsMatch(String, String, RegexOptions) method.
The Regex::Match(String, String, RegexOptions) method.
The Regex::Matches(String, String, RegexOptions) method.
The Regex::Replace(String, String, String, RegexOptions) and Regex::Replace(String, String, MatchEvaluator, RegexOptions) methods.
Several options provided by members of the RegexOptions enumeration can be specified instead by using an inline option character in the regular expression pattern. A group of inline regular expression options are enabled if they are preceded by a plus sign (+). They are disabled if they are preceded by a minussign (-). The following table lists the RegexOptions members that have inline equivalents. The None, RightToLeft, ECMAScript, and CultureInvariant members do not have inline equivalents.
RegexOptions member | Inline character |
|---|---|
IgnoreCase | i |
Multiline | m |
ExplicitCapture | n |
Singleline | s |
IgnorePatternWhitespace | x |
The following example defines two regular expressions that identify repeated words in text but that are instantiated using different RegexOptions values. The first regular expression is case-insensitive; case is ignored when determining whether a word is identical to the preceding word. The second regular expression is case-sensitive; a word must match the case of the preceding word exactly to be considered a duplicate.