Supported Metacharacters

Ruby supports the metacharacters and metasequences listed in Table 32 through Table 37. For expanded definitions of each metacharacter, see "Regex Metacharacters, Modes, and Constructs.”

Table 1-32. Ruby character representations

Sequence

Meaning

\a

Alert (bell), \x07.

\b

Backspace, \x08, supported only in character class.

\e

ESC character, \x1B.

\n

Newline, \x0A.

\r

Carriage return, \x0D.

\f

Form feed, \x0C.

\t

Horizontal tab, \x09.

\v

Vertical tab, \x0B.

\0octal

Character specified by a two-digit octal code.

\xhex

Character specified by a two-digit hexadecimal code.

\cchar

Named control character.

Table 1-33. Ruby character classes and class-like constructs

Class

Meaning

[...]

A single character listed, or contained within a listed range.

[^...]

A single character not listed, and not contained within a listed range.

.

Any character, except a line terminator (unless single-line mode, s).

\w

Word character.

\W

Nonword character.

\d

Digit.

\D

Nondigit.

\s

Whitespace character, [ \f\n\r\t\v].

\S

Nonwhitespace character, [^ \f\n\r\t\v].

Table 1-34. Ruby anchors and other zero-width tests

Sequence

Meaning

^

Start of string, or the point after any newline.

\A

Beginning of string, in all match modes.

$

End of string, or the point before any newline.

\Z

End of string, but before any final line terminator, in all match modes.

\z

End of string, in all match modes.

\b

Boundary between a \w character and a \W character.

\B

Not-word-boundary.

\G

End of the previous match.

(?=...)

Positive lookahead.

(?!...)

Negative lookahead. ...

Get Regular Expression Pocket Reference, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.