• ベストアンサー

\bとはなんでしょうか?

今、正規表現を勉強中です。 preg_match( "/\bweb\b/" , $str ) というのが出てくるのですが、この「\b」とはなんでしょうか? この文字列の問題だとも思うのですが検索しましたが、それらしいものはヒットしませんでした。 ご存知の方、書き込みをください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.3

PHPについては詳しく知りませんが、普通正規表現で \b は単語の境界をあらします。文字列の最初の位置、末尾の位置の場合もマッチします。 たとえば、例に挙げられたものは、 文字列 "web abc web 000 web" に現れるすべてのwebにマッチしますが、 文字列 "I am a webDeveloper" にはマッチしません。

goo2408
質問者

お礼

autyさん、書き込みありがとうございます。 わかりやすい例を挙げていただき理解ができました。 ありがとうございました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

そういうときはマニュアルをみましょう http://www.php.net/manual/ja/function.preg-match.php \bは文字の区切りとして使うようです。 スペースとか改行とかタブなど文字が区切れていればヒットします <? $str="testwebtest"; if(preg_match("/\bweb\b/i",$str)) print 1; $str="test web test"; if(preg_match("/\bweb\b/i",$str)) print 2; $str="test\tweb\ttest"; if(preg_match("/\bweb\b/i",$str)) print 3; $str="test\nweb\ntest"; if(preg_match("/\bweb\b/i",$str)) print 4; ?>

goo2408
質問者

お礼

yambejpさん、書き込みありがとうございます。 参考にさせていただき、理解が進みました。 ご回答ありがとうございました。

  • ore100
  • ベストアンサー率54% (34/62)
回答No.1

\bはバックスペースです。

関連するQ&A