**
javascript從入門到跑路-----小文的js學習筆記(1)---------script、alert、document。write() 和 console.log 標籤
…
…
javascript從入門到跑路-----小文的js學習筆記目錄
**
關注小文我們一起學習進步。
經過前面的學習我們已經知道正則表達式是使用單個字符串來描述、匹配一系列符合某個句法規則的字符串搜索模式。
下面我們我們會學到在正則表達式中有特殊意義和用途的字符,下面我們先說當中的元字符和轉義符
注意:光理論是不夠的,技術是不斷更新的。在此贈送2020最新企業級別Vue3.0/Js/ES6/TS/React/node等實戰視頻教程,想學的可進裙 519293536 免費獲取,小白勿進哦!
一、正則表達式的元字符
[ ] | 匹配括號內的任意“一個”字符 |
[^] | 除了括號內的任意字符 |
[0-9] | 匹配0至9的任意數字 |
[a-z] | 匹配a至z的任意小寫字母 |
[A-Z] | 匹配A至Z的任意大寫字母 |
\d | 匹配數字 :[0-9] |
\D | 匹配非數字 |
\w | 匹配數字、字母、下劃線 : [0-9a-zA-Z_] |
\W | 匹配非數字、字母、下劃線 |
\s | 匹配空格 |
\S | 非空格 |
\b | 匹配邊界 |
. | 除換行符以外的任意字符 |
那麼下面我們來分別解釋以下:
1、[ ]
簡單的說就是匹配括號內的字符,只要有一個相匹配那麼就爲true
我們舉個栗子:
執行結果:只要有一個字符相匹配,那麼就爲true
2、[^ ]
和第一點相反,第一點是和括號內的相匹配,而該寫法爲與除了括號內的其他相匹配,
當然有相同點就是,只要有一個是括號外的相匹配,那麼即爲true
簡單舉例:
執行結果:因爲23是括號以爲的所以相匹配,那麼結果即爲true
3、[0-9 ]
和0-9這幾個數字相匹配,當然這兩個數字不唯一,也可以是4-9,5-7這些也都是可以的,同樣只要有一個數字相匹配即爲true
簡單舉例:
執行結果:
注意: 這裏我們reg2的40並非是四十,他匹配的原則爲4和0,不論你的數字多大,都是將其拆分爲一個一個的數字,然後進行匹配。
4、[a-z] 和 [A-Z]
匹配 a-z 或者 A-Z之間的字符,區分大小寫
舉例:
執行結果:區分大小寫,所以這的大寫A是不匹配的 ,小寫a才能匹配
補充: 那麼怎樣寫才能不論是大寫A還是小寫a都能匹配呢? 其實我們這裏可以連接寫法
即直接將兩個範圍進行連接即可。
舉例:
執行結果:這樣直接連接即可,當然你要是想加上0-9這些數字範圍也是一樣可以的
5、\d 和 \D
\d 和數字相匹配(可以理解爲我們上面的[0-9]),只要你爲數字即爲true , \D匹配除了數字的其他字符,只要你不是數字,那麼即爲true
簡單示例:\d
示例:\D
執行結果:只要非數字,即使是空格或者其他任意符號也都可以相匹配
6、\w 和 \W
和上面一樣我們大小寫,取反,我們的\w匹配數字、字母和下劃線(也可以簡單的理解爲我們上面的[0-9a-zA-Z_]),我們的\W匹配除了數字、字母和下劃線以外的字符
簡單示例:\w
簡單示例:\W
7、\s 和 \S
小寫的匹配空格,大寫的匹配非空格,即小寫的只有空格才能與之匹配,而大寫的其他任意字符都能與之相匹配。
8、\b
匹配邊界,你也可以理解爲\b就是邊界它在左邊,那麼左邊就不能有其他的字符,在右邊那麼右邊就不能有其他的字符
舉例: 這樣說明我們s字符的前面有邊界,那麼前面只能爲空格或者沒有字符,一旦有其他字符就爲false,但是後面沒有規定,那麼後面可以添加其他字符,仍然爲true
舉例:這樣說明我們s字符的前後都有字符,那麼前後都有邊界不能添加其他字符,一旦添加就爲false
9、.
這是一個點,他匹配的是除了換行符意外的任意字符,即只要不是換行符,其他任何字符都能與之匹配。
補充:換行符爲:\n
簡單舉例:
很顯然執行結果爲,true
二、轉義符
正則表達式中的某些字符是具有特殊含義的,但有時候我們需要用到它本身的含義而不是它的特殊含義,那麼就需要用到轉義字符—— \
簡單的舉例:上面
執行結果:上面我們學到一個點是匹配除換行符意外的任意字符,那這就是它的特殊含義,我們用轉義符進行轉義之後,那麼這個特殊含義將消失不在,那麼它的含義就是它本身只有一個點的時候才能爲true,所以這裏爲false
**