Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

\bは単語境界にマッチする…じゃあ単語境界って何よ? というお話

正規表現におけるアンカーの一つ、\bは単語の境界にマッチします。
単語の両端を括れば、前後に余計な文字が入っているものを除外できます。

/foobar/.match("foobarii") 
#=> #<MatchData "foobar">

/\bfoobar\b/.match("foobarii") 
#=> nil

・・・では、この単語の境界ってナンでしょうか?

試してみたところ、ドットやクエスチョン、カッコのような記号は対象外のようです。

/\bfoobar\b/.match("foobar.") 
#=> #<MatchData "foobar">

/\bfoobar\b/.match("foobar?") 
#=> #<MatchData "foobar">

/\bfoobar\b/.match("foobar ") 
#=> #<MatchData "foobar">

 /\bfoobar\b/.match("foobar(buzz)") 
#=> #<MatchData "foobar">