正則詳細教程系列可以看此鏈接的文章哦
https://www.cnblogs.com/poloyy/category/1796055.html
特殊單字符和空白符
元字符 | 說明 |
---|---|
. | 匹配除換行符以外的任意字符 |
\w | 匹配字母或數字或下划線 |
\W | 和 \w 相反 |
\d | 匹配數字 |
\D | 和 \d 相反 |
\s | 匹配任意的空白符 |
\S | 和 \s 相反 |
. 的栗子
first
匹配文本 | abcde\n |
正則表達式 | . |
匹配數量 | 7 |
匹配結果 | a、b、c、d、e、\ 、n |
second
匹配文本 | abcde\nabc |
正則表達式 | ab. |
匹配數量 | 2 |
匹配結果 | abc、abc |
third
匹配文本 | c:\poloyy |
正則表達式 | ..\\ |
匹配數量 | 1 |
匹配結果 | c:\ |
\w 的栗子
first
匹配文本 | 0198aAzZ\w哎_- |
正則表達式 | \w |
匹配數量 | 10 |
匹配結果 | 0、1、9、8、a、A、z、Z、w、_ |
second
匹配文本 | 0198aAzZ\w哎_- |
正則表達式 | \w.\w |
匹配數量 | 3 |
匹配結果 | 019、8aA、Z\w |
third
匹配文本 | 0198aAzZ\w哎_- |
正則表達式 | \w.\\w |
匹配數量 | 1 |
匹配結果 | zZ\w |
總結
有些文章會說 \w 也能匹配漢字,但實際測試中是並不能匹配的哦,需要注意(也有可能在特定場景或環境下是可以匹配的)
\d 的栗子
first
匹配文本 | 123阿a\ |
正則表達式 | \d |
匹配數量 | 3 |
匹配結果 | 1、2、3 |
second
匹配文本 | 12a3阿a\ |
正則表達式 | \d\w\d. |
匹配數量 | 1 |
匹配結果 | 2a3阿 |
空白符講解
不同系統在每行文本結束位置會有換行符,但不同系統的換行符會不一樣
系統 | 換行符 |
---|---|
Windows | \r\n |
Linux | \n |
macOS | \n |
在正則中,也可以直接使用 \r 、 \n 來匹配對應的空白符
當然, \s 已經可以滿足大部分空白符場景,它代表任意單個空白符,相當於 [\r\n\t\f] 空白符集合
總結
- 如果需要匹配一些元字符包含的符號,譬如 \ , . 、 ^ 需要加上轉義符 \
- 記住一個元字符只會匹配一個字符,如果需要匹配多個字符則需要多個元字符