es6對於正規表示式新增了 u 修飾符和 y 修飾符。
u 修飾符:含義為「unicode模式」,用來正確處理大於\uffff的unicode字元。
該修飾符不光會正確處理正規表示式,還會正確處理被匹配的字串。
利用新增的正則例項物件屬性 unicode ,可以判斷正規表示式是否設定了u修飾符。(reg.unicode)
y 修飾符:叫做 「粘連」(sticky)修飾符。用來正確處理匹配粘連的字串。
它的作用和g修飾類似,也是全域性匹配。
它可以使用新增的正則物件屬性sticky來判斷正則物件是否設定了y修飾符。(reg.sticky)
區別:(y 和 g)
1. g 修飾符只要剩餘位置中存在匹配的字串就可以返回成功。
而y修飾符確保匹配必須是從剩餘的所有位置中的第乙個位置開始,這也是粘連的含義。
2. y 修飾符隱含了頭部匹配的標誌^(^x表示匹配的字串的首個字元必須是x)
s 修飾符:被稱為 dotall 模式,即點(dot)代表一切字元。
可以使用正則物件新增屬性 dotall 來判斷正則物件是否設定了 dotall 模式。(reg.dotall)
作用是可以使得 . 可以匹配任意單個字元。
u、y、s都是新增的正則物件修飾符。
在js正則物件還有其他的元老修飾符,i(是否執行大小寫不敏感匹配,設定了就不區分大小寫)、m(多行匹配)、g(全域性匹配)。
ES6 正則的擴充套件 u y修飾符
u修飾符 es6 對正規表示式新增了 u 修飾符,含義為 unicode模式 用來正確處理大於 uffff 的unicode字元。也就是說,會正確處理四個字元的 utf 16 編碼。ud83d test ud83d udc2a true ud83d u.test ud83d udc2a false上...
ES6 正則的擴充套件
一,regexp 建構函式 es5中,regexp建構函式的引數有兩種情況。1,引數是字串,第二個引數表示正規表示式的修飾符 flag 2,引數是乙個正規表示式,返回乙個原有正規表示式的拷貝。es6中,如果regexp建構函式第乙個引數是乙個正則物件,那麼可以使用第二個引數指定修飾符。而且,返回的正...
ES6入門之正則的擴充套件
引數為字串,那麼第二個引數表示正規表示式的修飾符,如下 var regex new regexp xyz i 等價於 var regex xyz i 複製 引數為乙個正規表示式,這時返回乙個原有正規表示式的拷貝。如下 var regex new regexp xyz i 等價於 var regex ...