正規表示式 ^元字元

admin發表於2018-09-07

^元字元匹配一個字串的起始位置。

以正規表示式的視角,字串不但有字元元素,也有位置。

具體可以參閱正規表示式匹配位置一章節。

字串的起始位置是字串中多種位置之一,下面就通過程式碼例項做一下介紹。

關於元字元概念可以參閱正規表示式元字元與普通字元一章節。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
new RegExp("^x")

使用建構函式方式建立正規表示式物件。

[JavaScript] 純文字檢視 複製程式碼
/^x/

使用直接量方式建立。

更多建立正規表示式內容參閱JavaScript建立正規表示式一章節。

瀏覽器支援:

(1).IE瀏覽器支援此元字元。

(2).火狐瀏覽器支援此元字元。

(3).火狐瀏覽器支援此元字元。

(4).谷歌瀏覽器支援此元字元。

(5).opera瀏覽器支援此元字元。

(6).safria瀏覽器支援此元字元。

例項程式碼:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str="antant"; 
let reg=/^ant/g;
console.log(str.match(reg));

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

a:3:{s:3:\"pic\";s:43:\"portal/201809/07/124125lwr7usszxxig0j7e.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

程式碼分析如下:

(1).正規表示式可以匹配字串"ant",但是此字串必須處於字串的起始位置。

(2).由於第二個"ant"並不處於起始位置,所以無法被匹配到。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str="webSite is http://www/softwhy.com"; 
let reg=/^is/g;
console.log(str.match(reg));

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

a:3:{s:3:\"pic\";s:43:\"portal/201809/07/124156w994axfsbr4g4p4b.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述程式碼的匹配結果可能會出乎不少朋友的意料。

本以為會匹配到字串"is",但實際結果卻沒有匹配到任何內容。

程式碼分析如下:

(1).^元字元匹配的是字串的起始位置,然而我們提供的字串是"webSite is http://www/softwhy.com",它的起始位置是第一個"w"字元前面的位置。

(2).我們可以認為"is"前面是單詞的起始位置,但是絕對不是字串的起始位置,一目瞭然。

相關文章