正則表達式中\b和\s有什么區別


字符串:abcsdsadas abc asdsadasdabcasdsa
使用\sabc\s和\babc\b都能匹配中間的abc,這種方法不是重復了么,/s是匹配空格回車等得,/b網上教程說得不清楚什么字符邊界什么意思。

 

不一樣
\babc\b匹配的是"abc"
\sabc\s匹配的不是"abc", 前后還帶空格" abc "
\b只是匹配字符串開頭結尾及空格回車等的位置, 不會匹配空格符本身

例如"abc sdsadasabcasdsadasdabcasdsa",
\sabc\s不能匹配,\babc\b可以匹配到"abc"
 
 
\b代表字與字中間那個看不見的東西,如

here is a word
那么,這句中有好幾個\b, 每個單詞的前后都有一個\b.

所以你用 \bhere\b 可以匹配上面這個here,但如果here 不是一個單詞,而是一個單詞的一部分,如 adheread, 這樣的話,用here 可以匹配,用\bhere\b就不能區配了,因為ad后面沒有\b. 所以 adhere 中的here 不會被匹配。

總結: \b 就是用在你匹配整個單詞的時候。 如果不是整個單詞就不匹配。 你想匹配 I 的話,你知道,很多單詞里都有I的,但我只想匹配I,就是“我”,這個時候用 \bI\b

\B就是反過來,代表非字間。 類似\d代表數字, \D代表非數字。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM