iT邦幫忙

1

Java - Regular Expression - \b 與 \B 在regex中的分別

  • 分享至 

  • xImage
  •  

閱讀時間: 10分鐘

在Regular Expression中,相信有很多人都不太明白怎樣區分\b 與 \B的分別。
現在就為大家講解一下它們的分別:

\b
解釋說明:
比對「文字/數字的邊界」,包括underscore ( _ ) 。

\B
解釋說明:
比對非「文字/數字的邊界」,包括空格及特別字元。

以下用詳細例子解釋:
首先將s定義為

sentence= "martinis himartin goo goomartingoo";

例子1: 每個詞的開始位置

result = sentence.replace(/\bmartin/g, "KK");

最後改變成為 "KKis himartin goo goomartingoo"

例子2: 每個詞的尾部位置

result = sentence.replace(/martin\b/g, "KK");

最後改變成為 "martinis hiKK goo goomartingoo"

例子3: 不在每個詞的開始位置

result = sentence.replace(/\Bmartin/g, "KK");

最後改變成為 "martinis hiKK goo gooKKgoo"

例子4: 不在每個詞的尾部位置

result = sentence.replace(/martin\B/g, "KK");

最後改變成為 "KKis himartin goo gooKKgoo"

例子5: 不在每個詞的尾部或開始的位置

result = sentence.replace(/\Bmartin\B/g, "KK");

最後改變成為 "martinis himartin goo gooKKgoo"


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言