JavaScript連載24-正則表達式

1、正則表達式

1.基本概念(簡略)

  • 三大做用:匹配,提取,替換
  • 正則表達式的組成:普通字符和元字符
  • 元字符
元字符 描述
\d 匹配一個數字字符,等價於[0-9]
\D 匹配一個非數字字符,等價於[^0-9]
\w 匹配一個包括下劃線在內的任意單詞字符,等價於[A-Za-z0-9]
\W 匹配任何非單詞字符,等價於[^A-Za-z0-9]
\s 匹配任何空白字符,包括空格、製表符、換頁符等,等價於[\f\n\r\t\v]
\S 匹配任何非空白字符,等價於[^\f\n\r\t\v]
. 匹配除了"\n"以外的任何字符,要匹配包括"\n"在內的任何字符,請使用(.
^ 匹配輸入字符串的開始位置,若是設置了RegExp對象的Multiline屬性,^也匹配\n或者\r以後的位置。
$ 匹配輸入字符串的結束位置,若是設置了RegExp對象的Multiline屬性,^也匹配\n或者\r以前的位置。
  • 限定符
限定符 描述
* 匹配前面的子表達式>=0次
+ 匹配前面的子表達式>=1次
? 匹配前面的子表達式0次或者1次
{n} n是一個非負整數,匹配前面的子表達式n次
{n,} n是一個非負整數,匹配前面的子表達式至少n次
{n,m} n是一個非負整數,匹配前面的子表達式至少n次,最多m次
  • 其餘
其餘 描述
[xyz] 字符集合,匹配包含的任意一個字符。
[^xyz] 負值字符集合,匹配未包含的任意字符。
[a-z] 能匹配的字符範圍
[^a-z] 負值字符範圍,匹配任何不在指定範圍的任意字符。

2.兩種正則表達式方法

    //第二個參數,i執行對大小寫不敏感,g執行全局匹配(查找全部匹配值而非在找到第一個匹配後中止),m執行多行匹配
    var reg = new RegExp('^ab[a-z]','i');
    var str = 'ABC';
    console.log(reg.test(str));//匹配成功就會返回true

    //字面量
    var reg2 = /ab[a-z]/i;//還有這種正則表達式
    var str2 = "ABshdu";
    console.log(reg2.test(str2));

運行結果
24.1html

3.正則表達式相關的方法

(1)RegExp對象

  • test() 匹配
  • exec() 提取一個內容\

(2)針對String對象

  • replace()替換
  • split() 切割
  • search() 搜索

2、源碼:

    • D24_1_RegularExpression.html
    • 地址:https://github.com/ruigege66/JavaScript/blob/master/ D24_1_RegularExpression.html
    • 博客園:https://www.cnblogs.com/ruigege0000/
    • CSDN:https://blog.csdn.net/weixin_44630050?t=1
    • 歡迎關注微信公衆號:傅里葉變換,我的帳號,僅用於技術交流,後臺回覆「禮包」獲取Java大數據學習視頻禮包
      20.4
相關文章
相關標籤/搜索