全網最易懂的正則表達式教程(5)- 斷言


正則詳細教程系列可以看此鏈接的文章哦

https://www.cnblogs.com/poloyy/category/1796055.html

 

特殊單字符

元字符 說明
\b 匹配單詞的開始或結束
\B 和 \b 相反
^ 匹配字符串(行)的開始
$ 匹配字符串(行)的結束

 

\b 的栗子

first

匹配文本 poloyy
正則表達式 \bpoloyy\b
匹配數量 1
匹配結果 poloyy

 

second

匹配文本 poloyy
正則表達式 \bpo
匹配數量 1
匹配結果 po

 

third

匹配文本 poloyy1
正則表達式 \bpo....\d\b
匹配數量 1
匹配結果 poloyy1

 

four

匹配文本 y1菠蘿_A
正則表達式 \b\w.
匹配數量 2
匹配結果 y1、_A

 

總結

  • \b 其實並不匹配任何字符,它只匹配一個位置(開頭,結尾)
  • 相當於單詞的開頭或結尾,有點類似 ^  、 $ 
  • 單詞:連起來的字母、數字、下划線,但不包括漢字(如 four 的栗子 ),一般可以用元字符 \w+ 來表示

 

再來看看一個拓展的栗子

重點:在精確匹配某個單詞時,我們使用 \b\w+\b 就可以實現了

 

行的開始或結束

和單詞的邊界類似,在正則中還有文本每行的開始和結束,如果要求匹配的內容要出現在一行文本開頭或結尾,就可以使用 ^ 和 $ 來進行位置界定

 

怎么才算一行?

在結尾處有換行符

要注意:在計算機中,回車 \r 和換行 \n 其實是兩個概念,並且在不同的平台系統上,換行符的表示也是不一樣的

 

不同系統的換行符

系統 換行符
Windows \r\n
Linux \n
macOS \n

 

^ 的栗子

first

匹配文本 菠蘿_A
正則表達式 ^菠.
匹配數量 1
匹配結果 菠蘿

 

second

匹配文本 _123
正則表達式 ^_\d
匹配數量 1
匹配結果 _1

 

總結

和 \b  不一樣, ^ 是匹配行開始的任意字符,可以包括漢字

 

$ 的栗子

first

匹配文本 菠2蘿_
正則表達式 \d._$
匹配數量 1
匹配結果 2蘿_

 

second

匹配文本 123菠蘿
正則表達式  \b\w\d\d菠蘿$ 
匹配數量 1
匹配結果 123菠蘿

 

總結

和 \b 不一樣, $ 是匹配行結尾的任意字符,可以包括漢字

 

 


免責聲明!

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



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