Какви са границите, които не са думи в регенерация (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_]
) се уверете, че предишният / следващият символ също е aword char
,напр .:
"aB."
~"aw"
:"ab"
,"a4"
,"a_"
, ... но не"a "
,"a."
ако сме в началото / края на
non-word char
(W
=[^a-zA-Z0-9_]
) се уверете, че предишният / следващият символ също е anon-word char
,напр .:
"-B."
~"-W"
:"-."
,"- "
,"--"
, ... но не"-a"
,"-1"
За word-boundary
тя е подобна, но вместо да се увери, че съседните символи са от един и същи клас (word char
/non-word car
) те трябва да се различават, следователно името word"s boundary
.