正規表現で単語境界にマッチさせる場合、
以前扱った\bや$以外にも別の方法があります。
数値の文字列を三桁区切りする正規表現で考えると
"123456".gsub(/(?<=\d)(?=(\d\d\d)+\b)/, ",") => "123,456"
は
"123456".gsub(/(?<=\d)(?=(\d\d\d)+(?!\d))/, ",") => "123,456"
と書き換える事ができます。
この(?!pat) は否定先読みと呼ばれるもので、
その名の通りその条件に一致するものをマッチさせません。