ES2015 正規表示式新增特性
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)
|
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015107/viewspace-2871386/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- bash基礎特性、正規表示式
- ECMAScript正規表示式6個最新特性
- 正規表示式學習(2)---字元特性字元
- C++ 11 新特性之正規表示式C++
- 正規表示式
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 【JavaScript】正規表示式JavaScript
- php –正規表示式PHP
- 正規表示式 教程
- 正規表示式 split()
- java正規表示式Java
- PHP正規表示式PHP
- javascript正規表示式JavaScript
- 【java】正規表示式Java
- 初探正規表示式
- [js]正規表示式JS
- js正規表示式JS
- javascript–正規表示式JavaScript
- ORACLE 正規表示式Oracle
- MySQL 正規表示式MySql
- oracle正規表示式Oracle
- js 正規表示式JS
- ultraedit正規表示式
- 正規表示式合集
- SQL正規表示式SQL
- 正規表示式(java)Java
- JavaScript 正規表示式JavaScript
- MySQL正規表示式MySql
- 常用正規表示式
- [譯] 即將到來的正規表示式新特性
- Oracle正規表示式函式Oracle函式
- JS常用正規表示式及驗證時間的正規表示式JS
- ES9的新特性:正規表示式RegExp
- 詳解正規表示式
- 正規表示式基礎
- Python——正規表示式Python
- js正規表示式速查JS
- nginx正規表示式(上篇)Nginx