ES6的一些筆記(五)

正則表達式

與以前相比的一些修改


new RegExp(/xxx/ , y);
var reg = new RegExp(/abc/ig, 'i');
console.log(reg.test('jsabc')); //true
console.log(reg.test('jasbc')); // false
新增 Symbol下的4種方法

查詢方法[Symbol.match]匹配字符串 如果沒有找到返回null,找到返回一個集合,第一個參數(shù)是的內容,第二個是找到的下標,第三個是全部的內容

var reg = new RegExp(/abc/ig, 'i');
console.log(reg[Symbol.match]('bcd'));   // null
console.log(reg[Symbol.match]('dabcd')); // ["abc", index: 1, input: "dabcd"]

替換方法[Symbol.replace]匹配字符串 替換內容,替換字符串中第一處匹配的地方,第一個參數(shù)是要替換的字符串,第二個參數(shù)是要替換的內容。找到的話替換

var reg = new RegExp(/abc/ig, 'i');
console.log(reg[Symbol.replace]('bcd','js'));  // bcd
console.log(reg[Symbol.replace]('dabcdabc','js')); // djsdabc

搜索[Symbol.search]匹配字符串 返回下標,搜索匹配字符串,如果找到就返回找到的下標,沒找到返回-1

var reg = new RegExp(/abc/ig, 'i');
console.log(reg[Symbol.search]('bcd'));    //  -1
console.log(reg[Symbol.search]('dabcdabc')); // 1

切割[Symbol.split]匹配字符串 找到所有相關匹配的字符切割后返回數(shù)組,將整個字符串切割

var reg = new RegExp(/abc/ig, 'i');
console.log(reg[Symbol.split]    // ["bcd"] ('bcd'));
console.log(reg[Symbol.split]('dabcdaca')); // ["d", "daca"]
u修飾符

Unicode模式 處理大于\uFFFF的Unicode字符

y修飾符

粘連修飾符的意思就是說當一次匹配完成后第二次匹配時相配的字符必須在首位在能匹配成功,不然就返回null。
如下面的例子,str第一次匹配成功后下標移動到第3個也就a的地方,再次匹配成功,但是str2的時候第三個變?yōu)榱?這時在匹配abc就匹配不上了提現(xiàn)了粘連的特性。

var str = 'abcabc';
var str2 = 'abc-abc';
var reg = new RegExp(/abc/,'y'`);
console.log(reg.exec(str))    // ["abc", index: 0, input: "abcabc"]
console.log(reg.exec(str))   // ["abc", index: 3, input: "abcabc"]
console.log(reg.exec(str2)) // ["abc", index: 0, input: "abc-abc"]
console.log(reg.exec(str2)) // null
sticky屬性

表示是否設置了y修飾符。

var str = 'abcabc';
var str2 = 'abc-abc';
var reg = new RegExp(/abc/,'y');
console.log(reg.sticky);   // true
flags屬性

返回的是修飾符。

var str = 'abcabc';
var str2 = 'abc-abc';
var reg = new RegExp(/abc/,'y');
console.log(reg.flags);   // y
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 在挖掘分析的過程當中對字符串的處理是極為重要的,且出現(xiàn)也較為頻繁,R語言作為當前最為流行的開源數(shù)據(jù)分析和可視化平臺...
    果果哥哥BBQ閱讀 5,922評論 0 8
  • 三,字符串擴展 3.1 Unicode表示法 ES6 做出了改進,只要將碼點放入大括號,就能正確解讀該字符。有了這...
    eastbaby閱讀 1,566評論 0 8
  • 從匹配中返回值 Match 對象 成功的匹配總是返回一個 Match 對象, 這個對象通常也被放進 $/ 中, (...
    焉知非魚閱讀 1,839評論 0 1
  • 姓名:趙麗萍 公司:寧波大發(fā)化纖有限公司 組別:第264期努力二組 【日精進打卡第120天】 【知~學習】 《六項...
    zhaoliping閱讀 124評論 0 0
  • 文/米粒 我有一碗酒,可以慰風塵。—— 因一句話喜歡一本書,就像因一個瞬間就喜歡一個人那樣簡單。 好久好久沒有看課...
    shisan404閱讀 258評論 0 0