【初識】正則表達式

正則表達式(基礎認識)

regular expression : RegExp

首先看下關於本文章的思維導圖吧


記憶記憶,對於初學正則的小夥伴,這編文章值得記憶一下

1. 作用

  • 用來處理字符串的規則,學正則就是爲了制定規則
    • 只能處理字符串
    • 它是一個規則:可以驗證字符串是否符合某個規則(test),也可以把字符串中符合規則的內容捕獲到(exec/match…)
    let str = 'good good study,day day up';
    let reg = /\d+/; //是否包含數字
    console.log(reg.test(str)); // false
    str = '2020-04-07';
    console.log(reg.exec(str));//"2020", index: 0, input: "2020-04-07", groups: undefined
    

2. 編寫正則表達式

2.1 創建方式

  • 字面量方式:兩個斜杆之間包起來的,都是用來描述規則的元字符
    let reg = /\d+/;
  • 構造函數模式創建 :兩個參數
    let reg = new RegExp('\\d+');
    • 元字符字符串
    • 修飾符字符串

2.2 正則表達式由兩部分組成

2.2.1 元字符
  • 量詞元字符:設置出現的次數
元字符 含義
* 零到多次
+ 一到多次
零次或者一次
{n} 出現n次
{n,} 出現n到多次
{n,m} 出現n到m次
  • 特殊元字符:單個或者組合在一起代表特殊的含義
元字符 含義
\ 轉義字符(普通->特殊->普通))
. 除\n(換行符)以外的任意字符
^ 以哪一個元字符開頭
$ 以哪一個元字符結尾
\n 換行符
\d 0-9之間的一個數字
\D 非0-9之間的一個數字(大寫和小寫的意思是相反的)
\w 數字 字母 下劃線中的任意一個字符
\s 一個空白字符(包含空格 製表符 換頁符等)
\t 一個製表符(一個TAB鍵:四個空格)
x y
[xyz] x或y或z中的一個字符
[^xy] 除了x/y以外的任意字符
[a-z] 指定a-z這個範圍的任意字符([0-9][a-z][A-Z]_)=== \w
[^a-z] 除了a-z以外的字符
() 分組符號
(?: ) 只匹配不捕獲
(?=) 正向預查
(?!) 負向預查
  • 普通元字符

/name/ 此正則匹配的是name

2.2.2 修飾符:img(寫在正則的外面)
修飾符 英文全稱 含義
i ignoreCase 忽略單詞大小寫匹配
m multiline 可以進行多行匹配
g global 全局匹配
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章