/[abc]/ : 匹配a、b、c任一個字母即可。
/[^abc]/ : 表示a、b、c以外的任何字元, ^ 為否定字元。
/[a-c]/ : 表示匹配a、b、c任一個字母即可, - 為連號字元。
/[a-zA-Z0-9]/ : 表示任何字母數字都匹配。
/[\s\d]/ : 表示任何空白字元數字。

可以使用 /\d\d/ 代表兩位數字。但無法敘述。
/\d{2,4}/ : 表示匹配2~4個數字。
/\w{3}\d? : 表示匹配三個文字然後接一個0~9的數字或不接任何東西(表示數字可有可無)。
/\s+javascript\s+/ : 表示匹配javascript前後都接一個或多個空白字元。
/[^(]*/ : 表示匹配不為左括號0個或多個字元。

/ab|12|AB/ : 匹配ab或12或AB任一個字串即可。
/(ab|12)+|xy/ : (ab或12字串出現過至少一次)或xy字串。
(\d+)([a-z])\1 : 至少一個的數字後面接a~z的字母然後最後面跟第一個分組一樣(至少一個的數字)。
/['"][^'"]*\1/ : 引號要前後符合。

/^Jackson$/ : 表示匹配J開頭n結尾,中間接ackso字串。
/\bJackson\b/ : 表示匹配Jackson字串。

\sApple\s : 取得Apple的單字,但此方式會有兩個問題

  • 無法取得開頭或結尾Apple的字串,因為前後沒有空白
  • 取回來得字串前後也都會有空白。
  • 解決的分式透過\b, /\bApple\b/

    /([Aa]pple)?(?=\:)/ : 取得Apple or apple且後面接:的字串,若字串為 Apple: is a fruit ,匹配的字串會是Apple,若字串為 Apple is a fruit ,不會有任何匹配。

    /javascript$/im : 字串 javascript javascript\nis fun 都匹配。
    /\bjavascript\b/i : 不區分大小寫javascript的比對。
    /\bjavascript\b/gi : 不區分大小寫javascript的比對且找出所有出現的地方。

    第一個引數RegExp(若不為RegExp並不會像search自動將引數轉為RegExp,會直接用輸入的字串比對),第二引數置換的字串
    var str="javascript javascript";
    var regExp= /javascript/ // 不能寫成var regExp= "/javascript/"
    // 僅會置換第一個匹配的字串
    str.replace(regExp,'JavaScript') // return "JavaScript javascript"
    var regExp_g = /javascript/gi;
    // 所有javascript都替換成JavaScript
    str.replace(regExp_g,'JavaScript') // return "JavaScript JavaScript"
    var regExp_q = /(java)(script)/g
    // $1:紀錄()第一組的字串當置換字串
    str.replace(regExp_g,'"$1"') // return ""java" "java""
    
  • match: 尋找匹配的結果,並回傳結果陣列
    僅輸入一個引數,引數接受RegExp,若引數不為RegExp,則會先傳給RegExp建構式,轉成正規表示式
  • var str= '1 plus 2 equals 3'
    var regExp_g = /\d+/g
    str.match(regExp_g); // return ["1", "2", "3"] 
    // 沒有g旗標時
    var regExp = /\d+/
    str.match(regExp); 
    // return ["1", index: 0, input: "1 plus 2 equals 3", groups: undefined]
    
  • split
  • var str = '1, 2, 3, 4, 5';
    str.split(/s*,s*/); //return ["1","2","3","4","5"]