這次帶給大家在正規表示式中有哪些新增特性,使用正規表示式中新增特性的注意事項有哪些,以下就是實戰案例,一起來看一下。
ES2015 正規表示式新增特性:
在原來正規表示式基礎上,ES2015增強了對四位元組unicode字元的支援等功能。
更多正規表示式內容可以參考正規表示式教學板塊。
一.RegExp建構子的使用:
在ES2015之前,使用RegExp建構函式建立正規表示式物件有兩種方式:
建立方式一:
var reg = new RegExp("antzone","g");
建構子的第一個參數是正規表示式字串主體,第二個參數是正規表示式修飾符。
上面的程式碼等價於下面程式碼:
var regex = /antzone/g;
建立方式二:
var reg = new RegExp(/antzone/g);
#如果參數不是正規表示字串,那麼只能夠有一個參數;下面的寫法是錯誤的:
var reg = new RegExp(/antzone/,g);
不允許使用第二個參數設定正規表示式修飾符。
ES2015改變這個行為,即使是第一個參數是正規表示式對象,也可以規定第二個參數:
var reg = new RegExp(/antzone/gi," g");
第二個參數規定的正規表示式修飾符會覆寫第一個參數中的修飾符。
二.字串的正規方法:
正規表示式相關的match()、replace()、search()和split()方法屬於字串對象。
ES2015對此作了修改,當呼叫這四個方法的時候,實際上內部呼叫的是RegExp物件的實例方法。
(1).String.prototype.match 呼叫 RegExp.prototype[Symbol.match]。
(2).String.prototype.replace 呼叫RegExp.prototype[Symbol.replace]
(3).String.prototype.search 呼叫RegExp.prototype[Symbol.search]
(3).String .prototype.split 呼叫RegExp.prototype[Symbol.split]
關於Symbol可以參考ES2015 Symbol一章節。
三.後行斷言(ES2016):
後行斷言可以參閱正規表示式零寬斷言一章節。
四.新增修飾符:
#修飾符 | 描述 |
#u修飾符 | 此修飾符標識能夠正確處理大於\uFFFF的Unicode字元。 |
y修飾符 | 規定只能從lastIndex屬性規定的位置開始進行匹配,匹配失敗不會再去嘗試後面的字元。 |
五.新增屬性:
屬性 | 描述 |
sticky屬性 | 傳回一個布林值,用來識別是否設定了y修飾符。 |
flags屬性 | 傳回正規表示式的修飾符。 |
六.新增方法:
#方法 | 描述 |
#RegExp.escape()(ES2016) |
#我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
以上是正規表示式中有哪些新增特性的詳細內容。更多資訊請關注PHP中文網其他相關文章!