Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Word boundary assertion: \b, \B言語機能の使い方

Word boundary assertion: \b, \B言語機能の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Word boundary assertion: \b, \Bオブジェクトは、正規表現において特定の「位置」にマッチする際に使用される特別なパターンを表すアサーションです。これらは文字そのものにはマッチせず、文字と文字の間の境界、つまり「位置」に注目するゼロ幅のアサーションです。

まず、\b(ワード境界アサーション)は、単語の始まりや終わりを示す位置にマッチします。ここでいう単語とは、英数字とアンダースコアで構成される文字の並びのことです。\bは、単語文字と非単語文字(スペース、句読点、記号など)の間に位置するか、または文字列の先頭や末尾が単語文字である場合にその境界にマッチします。例えば、\bcat\bというパターンは「cat」という単語全体にのみマッチし、「category」や「tomcat」の中の「cat」にはマッチしません。これにより、特定の単語を正確に検索したい場合に非常に役立ちます。

一方、\B(非ワード境界アサーション)は、\bとは逆に、単語の境界ではない位置にマッチします。つまり、単語文字の途中や、非単語文字同士の間に位置する場合にマッチします。\Bは、単語の一部として特定のパターンを探したい場合や、単語全体としてではなく、その内部に存在するパターンを除外したい場合に利用されます。例えば、\Bcatは「category」や「tomcat」の「cat」にはマッチしますが、独立した「cat」という単語の「cat」にはマッチしません。

これら\b\Bを使用することで、正規表現による文字列検索や置換において、より意図した通りの正確なマッチングを実現できます。

公式リファレンス: Word boundary assertion: \b, \B

構文(syntax)

1// \b: 単語の境界にマッチします。これは、単語文字(英数字、アンダースコア)と非単語文字(スペース、句読点など)、または文字列の開始/終了位置の間に存在する位置を指します。
2const regexWordBoundary = /\bpattern\b/;
3
4// \B: 単語の境界ではない位置にマッチします。これは、単語文字の途中や非単語文字の間に存在する位置を指します。
5const regexNonWordBoundary = /\Bpattern\B/;

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ