首頁 > web前端 > js教程 > 主體

正規表示式中有哪些新增特性

php中世界最好的语言
發布: 2018-03-30 13:32:41
原創
1427 人瀏覽過

這次帶給大家在正規表示式中有哪些新增特性,使用正規表示式中新增特性的注意事項有哪些,以下就是實戰案例,一起來看一下。

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中文網其它相關文章!

###推薦閱讀:#########正規表示式\W元字元的使用詳解(附程式碼)###############正規表示式字符類別的詳細介紹##########

以上是正規表示式中有哪些新增特性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板