1. 程式人生 > >ES6正則擴充套件(新增修飾符y、u)

ES6正則擴充套件(新增修飾符y、u)

1、y修飾符

y :也是全域性匹配,首次匹配和g修飾符效果一樣,但是第二次往後就不一樣了,
g修飾符不一定要求匹配下標緊接著上一次開始匹配的去找,只要找到了就行;
而y修飾符是規定要求匹配下標緊接著上一次匹配的開始 去匹配,不合適條件就為匹配失敗為null。
在這裡插入圖片描述從上圖程式碼第二段列印two分析,這裡為第二次進行匹配,a1匹配到了下標為4開始的b,所以找到了;a2是從第一次匹配完成後緊接的下標3開始匹配,這時是_並不是b,所以匹配不到為null。

2、u修飾符

u修飾符就是拿來處理Unicode字元的。
在這裡插入圖片描述正則表示式中的 . 在es5中是用來匹配任意字元的,其實嚴格來說是匹配不大於(0xFFFF)兩個位元組的任意字元,如果大於的話就會匹配不到,此時需要加上u修飾符才能匹配到。
在這裡插入圖片描述

總結:要匹配的字串中存在某個字元大於兩個位元組的,那麼一定要加修飾符u,不然會匹配錯誤。

ps:可能u修飾符解釋上有點勉強,大家能看懂程式碼除錯最好。