characters | description | matches |
---|---|---|
. | not newline | any character except line terminators (LF, CR, LS, PS). |
\t | tab (HT) | a horizontal tab character (same as \u0009). |
\n | newline (LF) | a newline (line feed) character (same as \u000A). |
\v | vertical tab (VT) | a vertical tab character (same as \u000B). |
\f | form feed (FF) | a form feed character (same as \u000C). |
\r | carriage return (CR) | a carriage return character (same as \u000D). |
\cletter | control code | a control code character whose code unit value is the same as the remainder of dividing the code unit value of letter by 32. For example: \ca is the same as \u0001, \cb the same as \u0002, and so on... |
\xhh | ASCII character | a character whose code unit value has an hex value equivalent to the two hex digits hh. For example: \x4c is the same as L, or \x23 the same as #. |
\uhhhh | unicode character | a character whose code unit value has an hex value equivalent to the four hex digits hhhh. |
\0 | null | a null character (same as \u0000). |
\int | backreference | the result of the submatch whose opening parenthesis is the int-th (int shall begin by a digit other than 0). See groups below for more info. |
\d | digit | a decimal digit character (same as [[:digit:]]). |
\D | not digit | any character that is not a decimal digit character (same as [^[:digit:]]). |
\s | whitespace | a whitespace character (same as [[:space:]]). |
\S | not whitespace | any character that is not a whitespace character (same as [^[:space:]]). |
\w | word | an alphanumeric or underscore character (same as [_[:alnum:]]). |
\W | not word | any character that is not an alphanumeric or underscore character (same as [^_[:alnum:]]). |
\character | character | the character character as it is, without interpreting its special meaning within a regex expression. Any character can be escaped except those which form any of the special character sequences above. Needed for: ^ $ \ . * + ? ( ) [ ] { } | |
[class] | character class | the target character is part of the class (see character classes below) |
[^class] | negated character class | the target character is not part of the class (see character classes below) |
|
|
characters | times | effects |
---|---|---|
* | 0 or more | The preceding atom is matched 0 or more times. |
+ | 1 or more | The preceding atom is matched 1 or more times. |
? | 0 or 1 | The preceding atom is optional (matched either 0 times or once). |
{int} | int | The preceding atom is matched exactly int times. |
{int,} | int or more | The preceding atom is matched int or more times. |
{min,max} | between min and max | The preceding atom is matched at least min times, but not more than max. |
characters | description | effects |
---|---|---|
(subpattern) | Group | Creates a backreference. |
(?:subpattern) | Passive group | Does not create a backreference. |
characters | description | condition for match |
---|---|---|
^ | Beginning of line | Either it is the beginning of the target sequence, or follows a line terminator. |
$ | End of line | Either it is the end of the target sequence, or precedes a line terminator. |
\b | Word boundary | The previous character is a word character and the next is a non-word character (or vice-versa). Note: The beginning and the end of the target sequence are considered here as non-word characters. |
\B | Not a word boundary | The previous and next characters are both word characters or both are non-word characters. Note: The beginning and the end of the target sequence are considered here as non-word characters. |
(?=subpattern) | Positive lookahead | The characters following the assertion must match subpattern, but no characters are consumed. |
(?!subpattern) | Negative lookahead | The characters following the assertion must not match subpattern, but no characters are consumed. |
character | description | effects |
---|---|---|
| | Separator | Separates two alternative patterns or subpatterns. |
class | description | notes |
---|---|---|
[:classname:] | character class | Uses the regex traits' isctype member with the appropriate type gotten from applying lookup_classname member on classname for the match. |
[.classname.] | collating sequence | Uses the regex traits' lookup_collatename to interpret classname. |
[=classname=] | character equivalents | Uses the regex traits' transform_primary of the result of regex_traits::lookup_collatename for classname to check for matches. |
class | description | equivalent (with regex_traits, default locale) |
---|---|---|
[:alnum:] | alpha-numerical character | isalnum |
[:alpha:] | alphabetic character | isalpha |
[:blank:] | blank character | isblank |
[:cntrl:] | control character | iscntrl |
[:digit:] | decimal digit character | isdigit |
[:graph:] | character with graphical representation | isgraph |
[:lower:] | lowercase letter | islower |
[:print:] | printable character | isprint |
[:punct:] | punctuation mark character | ispunct |
[:space:] | whitespace character | isspace |
[:upper:] | uppercase letter | isupper |
[:xdigit:] | hexadecimal digit character | isxdigit |
[:d:] | decimal digit character | isdigit |
[:w:] | word character | isalnum |
[:s:] | whitespace character | isspace |