在上一篇文章已經講了如何匹配簡單的字符串,如何全局搜索,以及一些特殊字母i,g,m所表明的含義
這篇文章講的內容有點多最好分兩次讀,不過不用擔憂不少東西並不須要你特地記住
知道有那麼一回事先用先查都OKcss
/^test/ 表示以test開頭的字符 這裏的^表示以...開頭
/test$/ 表示以test結尾的字符
/food\$/ 匹配food$字符
module.exports = { module: { rules: [ { test: /\.css$/, use: 'css-loader' },//以.css結尾的 使用css-loader處理 { test: /\.ts$/, use: 'ts-loader' }// 以.ts結尾的 ] } };
/t?est/ 能夠匹配 test 或者 est
/t+est/ 能夠匹配test ttest tttest 而不能匹配est
/t*est/ 能夠匹配test ttest tttest est
/a{4}/ 匹配包含連續4個a的字符串
/a{4,10}/ 匹配任何含有連續4個至10個a的字符串
/a{4,}/ 若是逗號後面不寫第二個參數那麼表示匹配任何含有連續4個或多於4個a的字符串
遇到連續四個a即中止搜索 var str = "aaaabbbcaadda" var newStr = str.replace(/a+/,'嘿')//"嘿bbbcaadda"
由於加了g進行全局匹配,咱們看一看有哪些字符符合條件 開頭的4個a c後面的2個a d後面的a 這就是貪婪匹配遇到成串的符合條件的字符,將匹配這個’串‘ var str = "aaaabbbcaadda" var newStr = str.replace(/a+/g,'嘿')//"嘿bbbc嘿dd嘿"
若是後面在'+'後跟了'?'則表示進行非貪婪匹配,具體結果請看註釋 var str = "aaaabbbcaadda" var newStr = str.replace(/a+?/g,'嘿')//"嘿嘿嘿嘿bbbc嘿嘿dd嘿"
/(ab)+/ 匹配一個或多個連續出現的字符串'ab'
var str = "abcdababef" var newStr = str.replace(/(ab)+/g,"嘿")//"嘿cd嘿ef" 請注意cd後的連續兩個ab被替換成一個嘿而不是兩個
/a|b/ 匹配a或b字符 /(ab)+|(cd)+/ 匹配出現一次或屢次的「ab」 或者「cd」