Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

\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">