正規表示式中:
我將正則中的位置分為 字元的佔位 和 字元的間隙。
字元的佔位是顯式的位置。
以i'm iron man
為例。
肉眼可見的字母 符號 空格都是可以佔位的字元,也就是可以用下標獲取到字元的位置。
字元的間隙是隱式的位置。
即顯示位置之間的位置,比如i
和'
之間的位置,字串開頭和i
之間的位置等。
邊界指的是佔位的字元左右的間隙位置。
正則中所說的單詞指的是\w
可以匹配的字元,即數字、大小寫字母以及下劃線[0-9a-za-z_]
單詞邊界匹配的就是這樣的間隙位置:
左邊佔位的字元或右邊佔位的字元,至少有乙個不是\w
// 只有首尾位置匹配
console.
log(
'0az_'
.replace
(/\b/g
,'.'))
// .0az_.
// +不是\w,所以它的左右間隙都可以被匹配
console.
log(
'a+a'
.replace
(/\b/g
,'.'))
// .a.+.a.
// 空格也不是\w,所以它的左右間隙都可以被匹配
console.
log(
'a a'
.replace
(/\b/g
,'.'))
// .a. .a.
理解了\b
,\b
就好理解了。
它匹配的也是邊界,針對的是 與\b
相反 的非單詞(\w
)。
也就是,左右佔位的字元,都必須是\w
。
或者說 所有不能被\b
匹配的邊界。
console.
log(
'0az_'
.replace
(/\b/g
,'.'))
// 0.a.z._
console.
log(
'a+a'
.replace
(/\b/g
,'.'))
// a+a.
console.
log(
'a a'
.replace
(/\b/g
,'.'))
// a a
Python正規表示式中字元邊界 b和 B
下面 按照順序 來看幾個例子 print re.match r w ve b hover 輸出none 因為 b後面是字元r print re.match r w ve b hove r 輸出matchobj 因為 b後面是空格 print re.match r w bve b ho ve r 輸出...
正規表示式 b
b代表字與字中間那個看不見的東西,如 here is a word 那麼,這句中有好幾個 b,每個單詞的前後都有乙個 b.所以你用 bhere b 可以匹配上面這個here,但如果here 不是乙個單詞,而是乙個單詞的一部分,如 adheread,這樣的話,用here 可以匹配,用 bhere b就...
正規表示式 b
引用網上一段話 b 是正規表示式規定的乙個特殊 好吧,某些人叫它元字元,metacharacter 代表著單詞的開頭或結尾,也就是單詞的分界處。雖然通常英文的單詞是由空格,標點符號或者換行來分隔的,但是 b 並不匹配這些單詞分隔字元中的任何乙個,它只匹配乙個位置。如果需要更精確的說法,b 匹配這樣的...