.NET Framework Regular Expressions
.NET Framework Regular Expressions
type
status
date
slug
summary
tags
category
icon
password
single characters
Use | To match any character |
[set] | In that set |
[^set] | Not in that set |
[a–z] | In the a-z range |
[^a–z] | Not in the a-z range |
. | Any except \n (new line) |
\char | Escaped special character |
control characters
Use | To match | Unicode |
\t | Horizontal tab | \u0009 |
\v | Vertical tab | \u000B |
\b | Backspace | \u0008 |
\e | Escape | \u001B |
\r | Carriage return | \u000D |
\f | Form feed | \u000C |
\n | New line | \u000A |
\a | Bell (alarm) | \u0007 |
\c char | ASCII control character | - |
Non-ascii codes
Use | To match character with |
\octal | 2-3 digit octal character code |
\x hex | 2-digit hex character code |
\u hex | 4-digit hex character code |
character classes
Use | To match character |
\p{ctgry} | In that Unicode category or block |
\P{ctgry} | Not in that Unicode category or block |
\w | Word character |
\W | Non-word character |
\d | Decimal digit |
\D | Not a decimal digit |
\s | White-space character |
\S | Non-white-space char |
quantifiers
Greedy | Lazy | Matches |
* | *? | 0 or more times |
+ | +? | 1 or more times |
? | ?? | 0 or 1 time |
{n} | {n}? | Exactly n times |
{n,} | {n,}? | At least n times |
{n,m} | {n,m}? | From n to m times |
anchors
Use | To specify position |
^ | At start of string or line |
\A | At start of string |
\z | At end of string |
\Z | At end (or before \n at end) of string |
$ | At end (or before \n at end) of string or line |
\G | Where previous match ended |
\b | On word boundary |
\B | Not on word boundary |
groups
Use | To define |
(exp) | Indexed group |
(?<name>exp) | Named group |
(?<name1-name2>exp) | Balancing group |
(?:exp) | Noncapturing group |
(?=exp) | Zero-width positive lookahead |
(?!exp) | Zero-width negative lookahead |
(?<=exp) | Zero-width positive lookbehind |
(?<!exp) | Zero-width negative lookbehind |
(?>exp) | Non-backtracking (greedy) |
inline options
Option | Effect on match |
i | Case-insensitive |
m | Multiline mode |
n | Explicit (named) |
s | Single-line mode |
x | Ignore white space |
Use | To |
(?imnsx-imnsx) | Set or disable the specified options |
(?imnsx-imnsx:exp) | Set or disable the specified options within the expression |
June 2014
Ó 2014 Microsoft. All rights reserved.
backreferences
Use | To match |
\n | Indexed group |
\k<name> | Named group |
alternation
Use | To match |
a |b | Either a or b |
(?(exp)
yes | no) | yes if exp is matched
no if exp isn't matched |
(?(name)
yes | no) | yes if name is matched
no if name isn't matched |
substitution
Use | To substitute |
$n | Substring matched by group number n |
${name} | Substring matched by group name |
$$ | Literal $ character |
$& | Copy of whole match |
$` | Text before the match |
$' | Text after the match |
$+ | Last captured group |
$_ | Entire input string |
comments
Use | To |
(?# comment) | Add inline comment |
# | Add x-mode comment |
For detailed information and examples, see http://aka.ms/regex
To test your regular expressions, see http://regexlib.com/RETester.aspx
supported unicode categories
Category | Description |
Lu | Letter, uppercase |
LI | Letter, lowercase |
Lt | Letter, title case |
Lm | Letter, modifier |
Lo | Letter, other |
L | Letter, all |
Mn | Mark, nonspacing combining |
Mc | Mark, spacing combining |
Me | Mark, enclosing combining |
M | Mark, all diacritic |
Nd | Number, decimal digit |
Nl | Number, letterlike |
No | Number, other |
N | Number, all |
Pc | Punctuation, connector |
Pd | Punctuation, dash |
Ps | Punctuation, opening mark |
Pe | Punctuation, closing mark |
Pi | Punctuation, initial quote mark |
Pf | Puntuation, final quote mark |
Po | Punctuation, other |
P | Punctuation, all |
Sm | Symbol, math |
Sc | Symbol, currency |
Sk | Symbol, modifier |
So | Symbol, other |
S | Symbol, all |
Zs | Separator, space |
Zl | Separator, line |
Zp | Separator, paragraph |
Z | Separator, all |
Cc | Control code |
Cf | Format control character |
Cs | Surrogate code point |
Co | Private-use character |
Cn | Unassigned |
C | Control characters, all |
For named character set blocks (e.g., Cyrillic), search for "supported named blocks" in the MSDN Library.
regular expression operations
Class: System.Text.RegularExpressions.Regex
Pattern matching with Regex objects
To initialize with | Use constructor |
Regular exp | Regex(String) |
+ options | Regex(String, RegexOptions) |
+ time-out | Regex(String, RegexOptions,
TimeSpan) |
Pattern matching with static methods
Use an overload of a method below to supply the regular expression and the text you want to search.
Finding and replacing matched patterns
To | Use method |
Validate match | Regex.IsMatch |
Retrieve single match | Regex.Match (first)
Match.NextMatch (next) |
Retrieve all matches | Regex.Matches |
Replace match | Regex.Replace |
Divide text | Regex.Split |
Handle char escapes | Regex.Escape
Regex.Unescape |
Getting info about regular expression patterns
To get | Use Regex API |
Group names | GetGroupNames
GetGroupNameFromNumber |
Group numbers | GetGroupNumbers
GetGroupNumberFromName |
Expression | ToString |
Options | Options |
Time-out | MatchTimeOut |
Cache size | CacheSize |
Direction | RightToLeft |
Loading...