【js】關於正則表達式

正則表達式描述了字符的模式對象html

語法:

var patt=new RegExp(pattern,modifiers);

或更簡單的方法

var patt=/pattern/modifiers;
  • 模式描述了一個表達式模型。
  • 修飾符(modifiers)描述了檢索是不是全局,區分大小寫等。

  注意:當使用構造函數創造正則對象時,須要常規的字符轉義規則(在前面加反斜槓 \)。好比,如下是等價的:git

        var re = new RegExp("\\w+");
        var re = /\w+/;   
  • 正則表達式修飾符

    • i - 修飾符是用來執行不區分大小寫的匹配。
    • g - 修飾符是用於執行全文的搜索(而不是在找到第一個就中止查找,而是找到全部的匹配)。
  • 方法:

    • test()方法搜索字符串指定的值,根據結果並返回真或假。
      var patt1=new RegExp("e");
      document.write(patt1.test("The best things in life are free"));  //true
    • exec() 方法檢索字符串中的指定值。返回值是被找到的值。若是沒有發現匹配,則返回 null。
      var patt1=new RegExp("e");
      document.write(patt1.exec("The best things in life are free"));    //e

 

  • 修飾符:

    修飾符用於執行區分大小寫和全局匹配
    修飾符 描述
    i 執行對大小寫不敏感的匹配。
    g 執行全局匹配(查找全部匹配而非在找到第一個匹配後中止)。
    m 執行多行匹配。


  • 方括號:

    方括號用於查找某個範圍內的字符:
    表達式 描述
    [abc] 查找方括號之間的任何字符。
    [^abc] 查找任何不在方括號之間的字符。
    [0-9] 查找任何從 0 至 9 的數字。
    [a-z] 查找任何從小寫 a 到小寫 z 的字符。
    [A-Z] 查找任何從大寫 A 到大寫 Z 的字符。
    [A-z] 查找任何從大寫 A 到小寫 z 的字符。
    [adgk] 查找給定集合內的任何字符。
    [^adgk] 查找給定集合外的任何字符。
    (red|blue|green) 查找任何指定的選項。
  • 元字符:

    元字符(Metacharacter)是擁有特殊含義的字符:
    元字符 描述
    . 查找單個字符,除了換行和行結束符。
    \w 查找單詞字符。
    \W 查找非單詞字符。
    \d 查找數字。
    \D 查找非數字字符。
    \s 查找空白字符。
    \S 查找非空白字符。
    \b 匹配單詞邊界。
    \B 匹配非單詞邊界。
    \0 查找 NUL 字符。
    \n 查找換行符。
    \f 查找換頁符。
    \r 查找回車符。
    \t 查找製表符。
    \v 查找垂直製表符。
    \xxx 查找以八進制數 xxx 規定的字符。
    \xdd 查找以十六進制數 dd 規定的字符。
    \uxxxx 查找以十六進制數 xxxx 規定的 Unicode 字符。
  • 量詞

    量詞 描述
    n+ 匹配任何包含至少一個 n 的字符串。
    n* 匹配任何包含零個或多個 n 的字符串。
    n? 匹配任何包含零個或一個 n 的字符串。
    n{X} 匹配包含 X 個 n 的序列的字符串。
    n{X,Y} 匹配包含 X 或 Y 個 n 的序列的字符串。
    n{X,} 匹配包含至少 X 個 n 的序列的字符串。
    n$ 匹配任何結尾爲 n 的字符串。
    ^n 匹配任何開頭爲 n 的字符串。
    ?=n 匹配任何其後緊接指定字符串 n 的字符串。
    ?!n 匹配任何其後沒有緊接指定字符串 n 的字符串。
  • RegExp對象方法

    方法 描述 FF IE
    compile 編譯正則表達式。 1 4
    exec 檢索字符串中指定的值。返回找到的值,並肯定其位置。 1 4
    test 檢索字符串中指定的值。返回 true 或 false。 1 4
    關於compile方法:
    • 功能說明:該方法能夠編譯指定的正則表達式,編譯以後的正則表達式執行速度將會提升,若是正則表達式屢次被調用,那麼調用compile方法能夠有效的提升代碼的執行速度,若是該正則表達式只能被使用一次,則不會有明顯的效果。 
    • 基本語法:objReg.compile(pattern[,flag]) 
      • objReg必選項,RegExp對象變量的名稱 
      • pattern必選項 正則表達式
      • flag 可選項 匹配選項 。 可選組合有:
        • g(全局搜索)
        • i(忽略大小寫)
        • m(多行搜索)
    • 使用compile方法還能夠對指定的正則表達式進行修改而且從新編譯,提升了正則表達式的適應性!
      正則表達式

  • 支持正則表達式的String對象方法

    方法 描述 FF IE
    search 檢索與正則表達式相匹配的值。 1 4
    match 找到一個或多個正則表達式的匹配。 1 4
    replace 替換與正則表達式匹配的子串。 1 4
    split 把字符串分割爲字符串數組。 1 4

 

參考: 數組

JavaScript RegExp 對象函數

JavaScript RegExp 對象參考手冊spa

compile 方法(正則表達式)(JavaScript)code

相關文章
相關標籤/搜索