Основной целью non-word-boundary
является создание регулярного выражения, которое гласит:
word char
(\w
= [a-zA-Z0-9_]
) убедитесь, что предыдущий / следующий символ также является word char
, например: "a\B."
~ "a\w"
: "ab"
, "a4"
, "a_"
, ... но не "a "
, "a."
non-word char
(\W
= [^a-zA-Z0-9_]
), убедитесь, что предыдущий / следующий символ также является non-word char
, например: "-\B."
~ "-\W"
: "-."
, "- "
, "--"
, ... но не "-a"
, "-1"
Для word-boundary
это похоже, но вместо того, чтобы убедиться, что смежные символы имеют один и тот же класс (word char
/ non-word car
), они должны отличаться, следовательно, имя word's boundary
.