ÐÑаниÑа Ñлова \b â пÑовеÑка, как ^ и $.
Ðогда движок ÑегÑлÑÑнÑÑ
вÑÑажений (пÑогÑаммнÑй модÑлÑ, ÑеализÑÑÑий поиÑк по ÑегÑлÑÑнÑм вÑÑажениÑм) Ð²Ð¸Ð´Ð¸Ñ \b, он пÑовеÑÑеÑ, ÑÑо позиÑÐ¸Ñ Ð² ÑÑÑоке ÑвлÑеÑÑÑ Ð³ÑаниÑей Ñлова.
ÐÑÑÑ ÑÑи вида позиÑий, коÑоÑÑе ÑвлÑÑÑÑÑ Ð³ÑаниÑами Ñлова:
- ÐаÑало ÑекÑÑа, еÑли его пеÑвÑй Ñимвол
\w. - ÐозиÑÐ¸Ñ Ð²Ð½ÑÑÑи ÑекÑÑа, еÑли Ñлева наÑ
одиÑÑÑ
\w, а ÑпÑава â не\w, или наобоÑоÑ. - ÐÐ¾Ð½ÐµÑ ÑекÑÑа, еÑли его поÑледний Ñимвол
\w.
ÐапÑимеÑ, ÑегÑлÑÑное вÑÑажение \bJava\b бÑÐ´ÐµÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ в ÑÑÑоке Hello, Java!, где Java â оÑделÑное Ñлово, но не бÑÐ´ÐµÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ в ÑÑÑоке Hello, JavaScript!.
alert( "Hello, Java!".match(/\bJava\b/) ); // Java
alert( "Hello, JavaScript!".match(/\bJava\b/) ); // null
Ð ÑÑÑоке Hello, Java! ÑледÑÑÑие позиÑии ÑооÑвеÑÑÑвÑÑÑ \b:
Так ÑÑо она ÑооÑвеÑÑÑвÑÐµÑ ÑегÑлÑÑÐ½Ð¾Ð¼Ñ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ \bHello\b, поÑÐ¾Ð¼Ñ ÑÑо:
- РнаÑале ÑÑÑоки ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ð¿ÐµÑÐ²Ð°Ñ Ð¿ÑовеÑка
\b. - Ðалее Ñлово
HelloÑовпадаеÑ. - Ðалее пÑовеÑка
\bâ Ñнова ÑовпадаеÑ, Ñак как Ð¼Ñ Ð½Ð°Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð¼ÐµÐ¶Ð´Ñoи запÑÑой.
Шаблон \bJava\b Ñакже ÑовпадÑÑ. Ðо не \bHell\b (поÑÐ¾Ð¼Ñ ÑÑо поÑле l Ð½ÐµÑ Ð³ÑаниÑÑ Ñлова), и не Java!\b (воÑклиÑаÑелÑнÑй знак не ÑвлÑеÑÑÑ Â«Ñимволом Ñлова» \w, поÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ñле него Ð½ÐµÑ Ð³ÑаниÑÑ Ñлова).
alert( "Hello, Java!".match(/\bHello\b/) ); // Hello
alert( "Hello, Java!".match(/\bJava\b/) ); // Java
alert( "Hello, Java!".match(/\bHell\b/) ); // null (Ð½ÐµÑ ÑовпадениÑ)
alert( "Hello, Java!".match(/\bJava!\b/) ); // null (Ð½ÐµÑ ÑовпадениÑ)
ÐÑ Ð¼Ð¾Ð¶ÐµÐ¼ иÑполÑзоваÑÑ \b не ÑолÑко Ñо Ñловами, но и Ñ ÑиÑÑами.
ÐапÑимеÑ, ÑегÑлÑÑное вÑÑажение \b\d\d\b иÑÐµÑ Ð¾ÑделÑно ÑÑоÑÑие двÑзнаÑнÑе ÑиÑла. ÐÑÑгими Ñловами, оно ÑÑебÑеÑ, ÑÑÐ¾Ð±Ñ Ð¸ до и поÑле \d\d бÑли ÑимволÑ, оÑлиÑнÑе Ð¾Ñ \w, Ñакие как пÑÐ¾Ð±ÐµÐ»Ñ Ð¸Ð»Ð¸ пÑнкÑÑаÑÐ¸Ñ (или наÑало/ÐºÐ¾Ð½ÐµÑ ÑекÑÑа).
alert( "1 23 456 78".match(/\b\d\d\b/g) ); // 23,78
alert( "12,34,56".match(/\b\d\d\b/g) ); // 12,34,56
\b не ÑабоÑÐ°ÐµÑ Ð´Ð»Ñ Ð°Ð»ÑавиÑов, не оÑнованнÑÑ
на лаÑиниÑеÐÑовеÑка \b ÑмоÑÑÐ¸Ñ Ð½Ð° обе ÑÑоÑÐ¾Ð½Ñ Ð³ÑаниÑÑ: должно бÑÑÑ \w Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑоÑÐ¾Ð½Ñ Ð¸ «не \w» â Ñ Ð´ÑÑгой.
Ðо \w ознаÑÐ°ÐµÑ Ð»Ð°ÑинÑкÑÑ Ð±ÑÐºÐ²Ñ (или ÑиÑÑÑ Ð¸Ð»Ð¸ знак подÑÑÑкиваниÑ), поÑÑÐ¾Ð¼Ñ Ð¿ÑовеÑка не бÑÐ´ÐµÑ ÑабоÑаÑÑ Ð´Ð»Ñ Ð´ÑÑгиÑ
Ñимволов, напÑимеÑ, киÑиллиÑÑ Ð¸Ð»Ð¸ иеÑоглиÑов).
ÐомменÑаÑии
<code>, Ð´Ð»Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑÑок кода — Ñег<pre>, еÑли болÑÑе 10 ÑÑÑок — ÑÑÑÐ»ÐºÑ Ð½Ð° пеÑоÑниÑÑ (plnkr, JSBin, codepenâ¦)