/[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"]