- ベストアンサー
\bとはなんでしょうか?
今、正規表現を勉強中です。 preg_match( "/\bweb\b/" , $str ) というのが出てくるのですが、この「\b」とはなんでしょうか? この文字列の問題だとも思うのですが検索しましたが、それらしいものはヒットしませんでした。 ご存知の方、書き込みをください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
PHPについては詳しく知りませんが、普通正規表現で \b は単語の境界をあらします。文字列の最初の位置、末尾の位置の場合もマッチします。 たとえば、例に挙げられたものは、 文字列 "web abc web 000 web" に現れるすべてのwebにマッチしますが、 文字列 "I am a webDeveloper" にはマッチしません。
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
そういうときはマニュアルをみましょう 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; ?>
お礼
yambejpさん、書き込みありがとうございます。 参考にさせていただき、理解が進みました。 ご回答ありがとうございました。
- ore100
- ベストアンサー率54% (34/62)
\bはバックスペースです。
お礼
autyさん、書き込みありがとうございます。 わかりやすい例を挙げていただき理解ができました。 ありがとうございました。