Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ConstructMatches
Characters
xThe character x
\\\\The backslash character
\\/The forward slash character
\\\"The double quote character
\\0nThe character with octal value 0n (0 <= n <= 7)
\\0nnThe character with octal value 0nn (0 <= n <= 7)
\\0mnnThe character with octal value 0mnn (0 <= m <= 3, 0 <= n <= 7)
\\xhhThe character with hexadecimal value 0xhh
\uhhhhThe character with hexadecimal value 0xhhhh
\\tThe tab character ('\u0009')
\\nThe newline (line feed) character ('\u000A')
\\rThe carriage-return character ('\u000D')
\\fThe form-feed character ('\u000C')
\\aThe alert (bell) character ('\u0007')
\\eThe escape character ('\u001B')
\\cxThe control character corresponding to x
Character classes
[abc]a, b, or c (simple class)
[^abc]Any character except a, b, or c (negation)
[a-zA-Z]a through z or A through Z, inclusive (range)
[a-d[m-p]]a through d, or m through p: [a-dm-p] (union)
[a-z&&[def]]d, e, or f (intersection)
[a-z&&[^bc]]a through z, except for b and c: [ad-z] (subtraction)
[a-z&&[^m-p]]a through z, and not m through p: [a-lq-z](subtraction)
Predefined character classes
.

Any character (may or may not match line terminators)

\\dA digit: [0-9]
\\DA non-digit: [^0-9]
\\sA whitespace character: [ \\t\\n\\x0B\\f\\r]
\\SA non-whitespace character: [^\\s]
\\wA word character: [a-zA-Z_0-9]
\\WA non-word character: [^\\w]
POSIX character classes (US-ASCII only)
\\p{Lower}A lower-case alphabetic character: [a-z]
\\p{Upper}An upper-case alphabetic character:[A-Z]
\\p{ASCII}All ASCII:[\\x00-\\x7F]
\\p{Alpha}An alphabetic character:[\\p{Lower}\\p{Upper}]
\\p{Digit}A decimal digit: [0-9]
\\p{Alnum}An alphanumeric character:[\\p{Alpha}\\p{Digit}]
\\p{Punct}Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\\p{Graph}A visible character: [\\p{Alnum}\\p{Punct}]
\\p{Print}A printable character: [\\p{Graph}]
\\p{Blank}A space or a tab: [ \\t]
\\p{Cntrl}A control character: [\\x00-\\x1F\\x7F]
\\p{XDigit}A hexadecimal digit: [0-9a-fA-F]
\\p{Space}A whitespace character: [ \\t\\n\\x0B\\f\\r]
Classes for Unicode blocks and categories
\\p{InGreek}A character in the Greek block (simple href="#ubc">blockblock)
\\p{Lu}An uppercase letter (simple href="#ubc">categorycategory)
\\p{Sc}A currency symbol
\\P{InGreek}Any character except one in the Greek block (negation)
[\\p{L}&&[^\\p{Lu}]] Any letter except an uppercase letter (subtraction)
Boundary matchers
^The beginning of a line
$The end of a line
\\bA word boundary
\\BA non-word boundary
\\AThe beginning of the input
\\GThe end of the previous match
\\ZThe end of the input but for the final href="#lt">terminator terminator, if any
\\zThe end of the input
Greedy quantifiers
X?X, once or not at all
X*X, zero or more times
X+X, one or more times
X{n}X, exactly n times
X{n,}X, at least n times
X{n,m}X, at least n but not more than m times
Reluctant quantifiers
X??X, once or not at all
X*?X, zero or more times
X+?X, one or more times
X{n}?X, exactly n times
X{n,}?X, at least n times
X{n,m}?X, at least n but not more than m times
Possessive quantifiers
X?+X, once or not at all
X*+X, zero or more times
X++X, one or more times
X{n}+X, exactly n times
X{n,}+X, at least n times
X{n,m}+X, at least n but not more than m times
Logical operators
XYX followed by Y
X|YEither X or Y
(X)X, as a href="#cg">capturing capturing group
Back references
$nWhatever the nth href="#cg">capturing  capturing group matched
Quotation
\\Nothing, but quotes the following character
\\QNothing, but quotes all characters until \\E
\\ENothing, but ends quoting started by \\Q
Special constructs (non-capturing)
(?:X)X, as a non-capturing group
(?idmsux-idmsux) Nothing, but turns match flags on - off
(?idmsux-idmsux:X)  X, as a href="#cg">nonnon-capturing group with the given flags on - off
(?=X)X, via zero-width positive lookahead
(?!X)X, via zero-width negative lookahead
(?<=X)X, via zero-width positive lookbehind
(?<!X)X, via zero-width negative lookbehind
(?>X)X, as an independent, non-capturing group

...