JS RegExp例項 exec方法

2021-09-13 19:22:27 字數 1986 閱讀 4487

exec()方法在目標字串中查詢匹配的子字串,若存在匹配,則返回乙個陣列,否則返回null

/\d+/

.exec

('js123');

// ['123']

/\d+/.

exec

('js123');

// ['js']

/ecmaer/

.exec

('js123');

// null

regexp.prototype.exec(strobj)

引數描述

strobj待匹配的字串。

exec()方法返回包含匹配到子字串的陣列或null。

如果匹配成功,陣列的第乙個成員是正規表示式匹配到的字串,第2到n個成員是子表示式(如果存在的話)匹配到的字串。

這些資訊儲存在陣列物件的屬性中:

let arr =

/\d+(\d+)/

.exec

('000aa111bb222cc333');

console.

info

(arr)

;// ["aa111", "111"]

console.

info

(arr.index)

;// 3 (表示匹配的字串的位置索引值)

console.

info

(arr.input)

;// "000aa111bb222cc333" (表示原始字串)

上面的例子中:返回的陣列的第乙個成員是表示式的第乙個匹配,第二個成員是子表示式((\d+))匹配的字元(串)。

// 宣告乙個全域性匹配的正規表示式

let reg =

/\d+/g

, str =

'123aaa456bbb789ccc'

;console.

info

(reg.lastindex)

;// 0

reg.

exec

(str)

;// ['123']

console.

info

(reg.lastindex)

;// 3

reg.

exec

(str)

;// ['456']

console.

info

(reg.lastindex)

;// 9

reg.

exec

(str)

;// ['789']

console.

info

(reg.lastindex)

;// 15

reg.

exec

(str)

;// null

console.

info

(reg.lastindex)

;// 0

reg.

exec

(str)

;// ['123']

console.

info

(reg.lastindex)

;// 3

上面的例子展示了全域性正規表示式的幾個特點:

exec()方法每次執行僅匹配一次就返回結果

正則物件的lastindex表示匹配的起始位置,初始值為0每一次匹配成功後,lastindex值變成匹配子字串後一位的位置索引值,即每次匹配成功,下一次匹配將從之前匹配成功子字串後乙個位置開始。

exec()匹配失敗後,正則物件的lastindex重新歸位為0

shell例項 十五 exec命令

1.乙個exec自身的指令碼 sleep 2 exec 0 echo this line will never echo exit 0 2.shopt允許shell在空閒時修改shell選項,經常出現在啟動檔案中。shop s cdspell 使用cd命令時,允許少量的錯誤 cd hpme 應該是 ...

字串的match方法與正則的exec方法的區別

match是字串的方法,exec是正則物件例項的方法 正規表示式中沒有子表示式,且非全域性匹配 沒有修飾符g match和exec結果一樣都是返回陣列 var s hello123456陣列 var result1 s.match d console.log result1 1 index 5,in...

oracle例項 schema,以及多租戶方案

從定義中我們可以看出schema為資料庫物件的集合,為了區分各個集合,我們需要給這個集合起個名字,這些名字就是我們在企業管理器的方案下看到的許多類似使用者名稱的節點,這些類似使用者名稱的節點其實就是乙個schema,schema裡面包含了各種物件如tables,views,sequences,sto...