与字边界相比,正则表达式( B)中的非字边界是什么?

与字边界相比,正则表达式( B)中的非字边界是什么?     
已邀请:
字边界(
b
)是零宽度匹配,可以匹配: 在单词字符(
w
)和非单词字符(
W
)之间 在单词字符和字符串的开头或结尾之间。 在Javascript中,
w
的定义是
[A-Za-z0-9_]
W
是其他任何东西。 neg0ѭ的否定版本,写为
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 !
  ^ ^ ^ ^   ^   ^ ^ ^ ^   ^
    
non-word-boundary
的基本目的是创建一个正则表达式: 如果我们在
word char
的开头/结尾(
w
=
[a-zA-Z0-9_]
),请确保上一个/下一个字符也是
word char
, 例如:
"aB."
~
"aw"
"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
。     

要回复问题请先登录注册