O'Reilly logo

Learning Rails: Live Edition by Edd Dumbill, Simon St. Laurent

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Anchors

Sometimes you want a match to be meaningful only at an edge: the start or the end, or maybe a word in the middle. You might even want to define your own edge—something is important only when it’s next to something else. Ruby’s regular expression engine lets you do all of these things, as well as match only when your match is not against an edge. Table C-4 lists common anchor syntax.

Table C-4. Regular expression anchors

Syntax

Meaning

^

When at the start of the expression, means to match the expression only against the start of the target (or a line within the target, when multiline matching is on).

$

When at the end of the expression, means to match the expression only against the end of the target (or the end of a line within the target, when multiline matching is on).

\A

When at the start of the expression, means to match the expression only against the start of the target string, not lines within it.

\Z

When at the end of the expression, means to match the expression only against the end of the target string, not lines within it.

\b

Marks a boundary between words, up against whitespace.

\B

Marks something that isn’t a boundary between words.

(?=expression)

Lets you define your own boundary, by limiting the match to things next to expression.

(?!expression)

Lets you define your own boundary, by limiting the match to things that are not next to expression.

These make a little more sense if you see them in action. For example, if you only want to match “The” when it’s at the start ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required