這是自己的筆記,並不是那麼全面,如果有需要用到正則的,建議網上花一小時看下視屏,根據案例,理解會更快。
regular expression使用單個字串來描述、匹配一系列符合某個句法規則的字串。
簡單說就是按照某種規則去匹配符合條件的字串。
g:global全文搜尋,不新增,搜尋到第乙個匹配停止
i:忽略大小寫
m:多行搜尋
正規表示式有兩種基本字元型別組成:
原義文字字元
元字元元字元是在正規表示式中有特殊含義的非字母字元
一般情況下正規表示式乙個字元對應字串乙個字元
表示式ab\t的含義是乙個字母a+乙個字母b+乙個水平製表符
可以使用元字元來構建乙個簡單的類,泛指符合某些特徵的物件歸為一類
表示式[abc]表示把a或b或c歸為一類
使用元字元^建立反向類/負向類
反向類的意思是不屬於某類的內容
表示式[^abc]表示不是字元a或b或c的內容
範圍類使用[a-z]來連線兩個字元表示從a到z的任意字元
這是乙個閉合區間,也就是包含a和z本身
預定義類
. [^\r\n] 除了回車和換行之外的所有字元
\d [0-9] 數字字元
\d [^0-9] 非數字字元
\s [\t\n\x0b\f\r] 空白符
\s 非空白符
\w[a-za-z_0-9] 單詞字元(字母、數字下劃線)
\w 非單詞字元
邊界^ 不在中括號裡面表示以***開始
$以***結束
\b 單詞邊界
\b 非單詞邊界
量詞:?出現零次或一次(最多出現一次)
+出現一次或多次(最少一次)
*出現零次或多次(任意次)
出現n次
出現n到m次
至少出現n次
分組()
或|反向引用 $
例:『2019-11-4』.replace(/(\d)-(\d)-(\d)/g,』$4/$2/$1』) 輸出
「$4/11/2019」
忽略分組:
分組內加上 ?:
前瞻:正規表示式從文字頭部開始解析,稱為前。前瞻就是在正規表示式匹配到規則的時候,向前檢查是否符合斷言,後顧方向相反
?=、?!
js不支援後顧。
JS筆記 正規表示式
正規表示式用於定義一些字串的規則,計算機可以根據正規表示式,來檢查乙個字串是否符合規則,獲取將字串中符合規則的內容提取出來。建立正規表示式物件 語法 var 變數 new regexp 正規表示式 匹配模式 使用typeof檢查正則物件,會返回object。在建構函式中可以傳遞乙個匹配模式作為第二個...
js中的正規表示式
d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d d 0 0 非正浮點數 負浮點數 ...
JS中的正規表示式
在電腦科學中,是指乙個用來描述或者匹配一系列符合某個語法規則的字串的單個字串。在很多文字編輯器或其他工具裡,正規表示式通常被用來檢索或替換那些符合某個模式的文字內容。正規表示式驗證一系列有規律的表示式 match 和replace replace 方法返回根據正規表示式進行文字替換後的字串的複製。語...