/ / Какво представляват неограничената дума в регенерация (B), в сравнение с границата на думите? - javascript, regex, word-boundary, boundary, word-boundaries

Какви са границите, които не са думи в регенерация (B), в сравнение с границата на думите? - javascript, regex, word-boundary, boundary, word-boundaries

Какви са границите, които не са думи в регенерация (B), в сравнение с границата на думите?

Отговори:

66 за отговор № 1

Гранична дума (b) е съвпадение с нулева ширина, която може да съответства:

  • Между думата характер (w) и не-дума характер (W) или
  • Между думата знак и началото или края на низа.

В Javascript определението за w е [A-Za-z0-9_] и W е нещо друго.

Невалидната версия на b, написано B, е съвпадение с нулева ширина, където горното прави не задръжте. Следователно тя може да съответства на:

  • Между два думи.
  • Между два не-словни знака.
  • Между не-дума характер и началото или края на низ.
  • Празният низ.

Например, ако низът е "Hello, world!" тогава b съответства на следните места:

 H e l l o ,   w o r l d !
^         ^   ^         ^

И B съвпада с тези места b не съвпада:

 H e l l o ,   w o r l d !
^ ^ ^ ^   ^   ^ ^ ^ ^   ^

2 за отговор № 2

Основната цел на non-word-boundary е да създадете регекс, който казва:

  • ако сме в началото / края на word char (w = [a-zA-Z0-9_]) се уверете, че предишният / следващият символ също е a word char,

    напр .: "aB." ~ "aw":

    "ab", "a4", "a_", ... но не "a ", "a."

  • ако сме в началото / края на non-word char (W = [^a-zA-Z0-9_]) се уверете, че предишният / следващият символ също е a non-word char,

    напр .: "-B." ~ "-W":

    "-.", "- ", "--", ... но не "-a", "-1"

За word-boundary тя е подобна, но вместо да се увери, че съседните символи са от един и същи клас (word char/non-word car) те трябва да се различават, следователно името word"s boundary.