RegExp.rightContext

admin發表於2018-09-03

rightContext屬性是RegExp物件(類)的靜態屬性。

直接使用RegExp引用,而不是它的物件例項。

RegExp.rightContext可以返回正規表示式最後一次匹配後面(右邊)的內容。

與此屬性相類似的是RegExp.leftContext,只不過是獲取最後一次匹配左邊的內容。

特別說明:此屬性也可以表示成$’。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
RegExp.rightContext

瀏覽器支援:

(1).IE瀏覽器支援此屬性。

(2).edge瀏覽器支援此屬性。

(3).火狐瀏覽器支援此屬性。

(4).谷歌瀏覽器支援此屬性。

(5).opera瀏覽器支援此屬性。

(6).safria瀏覽器支援此屬性。

例項程式碼:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str="ant螞蟻部落"; 
let reg=/an/g; 
str.match(reg); 
console.log(RegExp.rightContext);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/03/102245uitjs8ziyj8svtit.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

正規表示式可以匹配字串中的"ant",它右邊的內容是"t螞蟻部落"。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str="螞蟻部落url地址是www.softwhy.com"; 
let reg=/[\u4e00-\u9fa5]/g; 
str.match(reg); 
console.log(RegExp.rightContext);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/03/102324ge3q564v4e1hbu1n.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

可以看到,RegExp.rightContext屬性返回的是正規表示式最後一次匹配後面的內容。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let reg=/[\u4e00-\u9fa5]/g; 
str.match(reg); 
console.log(RegExp["$'"]);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/03/102403yyyocswwihcttumy.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

與上一個程式碼的執行效果完全相同。

在文章的前半部分已經介紹過,RegExp.rightContext屬性也可以用$’表示。

不過這個屬性比較特殊,不能用RegExp.$’形式訪問。

此屬性在replace方法中有應用,具體參閱正規表示式replace()一章節。