Anchors in Regular Expressions
This example from an irb session helps to show what \b, \w, ^, $ and \B do. \b - matches a word boundary, \w - matches a word character, ^ - matches a character at the beginning of a line, $ - matches the character at the end of a line, and \B matches a word boundary charcter which does not match \w.
irb(main):010:0> "paella"[/\ba/] => nil irb(main):013:0> "artistic paella wake"[/\wa/] => "pa" irb(main):026:0> "artistic paella wake"[/\B.[a-z]a$/] => nil irb(main):027:0> "artistic paella wake"[/\B.[a-z]$/] => "ke" irb(main):039:0> "artistic paella wake"[/\B./] => "r" irb(main):040:0> "artistic paella wake"[/\Ba./] => "ae" irb(main):044:0> "artistic paella wake"[/[^\B.{3}]/] => "a" irb(main):046:0> "artistic paella wake"[/[^\B.]{3}/] => "art" irb(main):047:0> "artistic paella wake"[/[^\w]{3}/] => nil irb(main):047:0> "artistic paella wake"[/[^\w]{3}/] => nil irb(main):048:0> "artistic paella wake"[/[^\br]{3}/] => "tis" irb(main):050:0> "artistic paella wake"[/[^\b]{3}/] => "art" irb(main):051:0> "artistic paella wake"[/[^\ba]{3}/] => "rti" irb(main):054:0> "artistic paella wake"[/\ba/] => "a" irb(main):055:0> "artistic paella wake"[/\ba./] => "ar" irb(main):058:0> "people paella wake"[/\bp./] => "pe" irb(main):060:0> "apostrophe paella wake"[/\bpa./] => "pae" irb(main):061:0> "apostrophe paella wake"[/\bp./] => "pa" irb(main):062:0> "apostrophe paella wake"[/\Bp./] => "po" irb(main):064:0> "pancake paella wake"[/\Bp./] => nil irb(main):065:0> "anticipated paella wake"[/\Bp./] => "pa" irb(main):066:0> "anticipated paella wake"[/\Bp../] => "pat" irb(main):067:0> "anticipated paella wake"[/\wp../] => "ipat"