Getting info about regular expression patterns
Net framework regular expressions
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 |
Дата добавления: 2018-11-24; просмотров: 158; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
